private LinkedHashSet getPossibleValues()

in src/main/java/org/jetbrains/jetCheck/IntCustomizer.java [74:97]


  private LinkedHashSet<Integer> getPossibleValues(IntData data, IntDistribution current, IntDistribution original) {
    List<Integer> possibleValues = new ArrayList<>();
    int fromStart = data.value - original.getMin();
    int fromEnd = original.getMax() - data.value;

    int sameDistanceFromStart = current.getMin() + fromStart;
    int sameDistanceFromEnd = current.getMax() - fromEnd;

    if (!tooManyCombinations()) {
      if (fromStart < fromEnd) {
        possibleValues.add(sameDistanceFromStart);
        possibleValues.add(sameDistanceFromEnd);
      } else {
        possibleValues.add(sameDistanceFromEnd);
        possibleValues.add(sameDistanceFromStart);
      }
    }
    possibleValues.add(data.value);
    
    return possibleValues.stream()
                         .map(value -> Math.min(Math.max(value, current.getMin()), current.getMax()))
                         .filter(current::isValidValue)
                         .collect(Collectors.toCollection(LinkedHashSet::new));
  }