public static @NotNull List<PsiVariable> getInputVariables(@NotNull ControlFlow flow, int start, int end) {
    List<PsiVariable> usedVariables = getUsedVariables(flow, start, end);
    List<PsiVariable> array = new ArrayList<>(usedVariables.size());
    for (PsiVariable variable : usedVariables) {
      if (needVariableValueAt(variable, flow, start)) {
        array.add(variable);
      }
    }
    return array;
  }
public static @NotNull List<PsiVariable> getInputVariables(@NotNull ControlFlow flow, int start, int end)