code: @Override
      public boolean matches(IAtomContainer targetContainer, IAtom targetAtom) {
          if (smartQueryAtom != null && qAtom == null) {
              if (!smartQueryAtom.matches(targetAtom)) {
                  return false;
              }
          } else {
              if (!matchSymbol(targetAtom)) {
                  return false;
              }
              if (!matchMaximumNeighbors(targetContainer, targetAtom)) {
                  return false;
              }
          }
          return true;
      }
docs: {@inheritDoc}