code: public static Map<Integer, Integer> getMinHashes(final String xml, final List<MinHashXOR> minHashXORs) {
          final Map<Integer, Integer> retValue = new HashMap<Integer, Integer>();
  
          // Clean the XML to remove element names and other useless data
          final String cleanedXML = cleanXMLForMinHash(xml);
  
          // the first minhash uses the builtin hashcode only
          final Integer baseMinHash = getMinHashInternal(cleanedXML, null);
          if (baseMinHash != null) {
              retValue.put(0, baseMinHash);
          }
  
          for (int funcId = 1; funcId < org.jboss.pressgang.ccms.model.constants.Constants.NUM_MIN_HASHES; ++funcId) {
              boolean foundMinHash = false;
              for (final MinHashXOR minHashXOR : minHashXORs) {
                  if (minHashXOR.getMinHashXORFuncId() == funcId) {
                      final Integer minHash = getMinHashInternal(cleanedXML, minHashXOR.getMinHashXOR());
                      if (minHash != null) {
                          retValue.put(funcId, minHash);
                      }
                      foundMinHash = true;
                      break;
                  }
              }
              if (!foundMinHash) {
                  throw new IllegalStateException("Did not find a minhash xor int for function " + funcId);
              }
          }
  
          return retValue;
      }
docs: Generate the min hashes
  @param xml The content to apply the signature to
  @param minHashXORs The list of XOR values to apply to the hash code
  @return