code: @Override
      public double getEuclideanDistance() throws IOException {
          int decimalPlaces = 4;
          double source = 0;
          double target = 0;
          double euclidean = -1;
  
          if (getFirstMapping() != null || !getFirstMapping().isEmpty()) {
              if (!removeHydrogen) {
                  source = getReactantMolecule().getAtomCount();
                  target = getProductMolecule().getAtomCount();
              } else {
                  source = getReactantMolecule().getAtomCount() - getHCount(getReactantMolecule());
                  target = getProductMolecule().getAtomCount() - getHCount(getProductMolecule());
              }
              double common = getFirstMapping().size();
              euclidean = Math.sqrt(source + target - 2 * common);
              BigDecimal dist = new BigDecimal(euclidean);
              dist = dist.setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP);
              euclidean = dist.doubleValue();
          }
          return euclidean;
      }
docs: {@inheritDoc}