code: @Override
      public boolean matches(IBond bond) {
          if (bond.isAromatic() ^ isAromatic()) return false;
  
          // we check for both bonds being aromatic - but the query will
          // never come in as aromatic (since there is a separate aromatic
          // query bond). But no harm in checking
          return bond.isAromatic() || bond.getOrder() == getOrder();
      }
docs: /*
  (non-Javadoc)
  @see
  org.openscience.cdk.isomorphism.matchers.smarts.SMARTSBond#matches(org
  .openscience.cdk.interfaces.IBond)