code: @Override
      public boolean matches(TargetProperties targetConatiner, IBond targetBond) {
          if (this.smartQueryBond != null) {
              return smartQueryBond.matches(targetBond);
          } else {
              if (!isBondMatchFlag()) {
                  return true;
              }
              if (isBondMatchFlag() && isBondTypeMatch(targetBond)) {
                  return true;
              }
              if (isBondMatchFlag() && this.unsaturation == getUnsaturation(targetConatiner, targetBond)) {
                  return true;
              }
          }
          return false;
      }
docs: {@inheritDoc}
  
  @param targetConatiner target container
  @param targetBond target bond
  @return true if bonds match