docs: private PropertyMappingImpl disambiguateMappings() {
      List<WeightPropertyMappingImpl> weightMappings = new ArrayList<WeightPropertyMappingImpl>(mappings.size());
      for (PropertyMappingImpl mapping : mappings) {
        SourceTokensMatcher matcher = createSourceTokensMatcher(mapping);
        DestTokenIterator destTokenIterator = new DestTokenIterator(mapping);
        while (destTokenIterator.hasNext())
          matcher.match(destTokenIterator.next());
  
        double matchRatio = (((double) matcher.matches()) * matcher.orderMatchWeight())
            / ((double) matcher.total() + destTokenIterator.total());
        weightMappings.add(new WeightPropertyMappingImpl(mapping, matchRatio));
      }
  
      Collections.sort(weightMappings);
      if (weightMappings.get(0).ratio == weightMappings.get(1).ratio)
        return null;
      return weightMappings.get(0).mapping;
    }