code: private void keepLowestMatches(final List<Match> matches)
      {
          Set<Match> to_remove = new HashSet<>();
          for (Match match : matches)
          {
              for (Match to_compare : matches)
              {
                  if (match.getStartIndex() == to_compare.getStartIndex() && match.getEndIndex() == to_compare.getEndIndex())
                  {
                      if (match.calculateEntropy() / match.getLength() > to_compare.calculateEntropy() / to_compare.getLength())
                      {
                          to_remove.add(match);
                          break;
                      }
                  }
              }
          }
          matches.removeAll(to_remove);
      }
docs: Keeps the lowest entropy matches for the specific start / end index
  
  @param matches List of matches to remove duplicate higher entropy matches from.