Equation nullableParamEquation(int i, boolean stable) {
    final EKey key = new EKey(method, new In(i, true), stable);
    final Result result;
    if (interpreter.dereferencedParams[i] || interpreter.notNullableParams[i] || returnValue instanceof NthParamValue && ((NthParamValue)returnValue).n == i) {
      result = Value.Top;
    }
    else {
      Set<ParamKey> calls = interpreter.parameterFlow[i];
      if (calls == null || calls.isEmpty()) {
        result = Value.Null;
      }
      else {
        Set<Component> sum = new HashSet<>();
        for (ParamKey pk: calls) {
          sum.add(new Component(Value.Top, Collections.singleton(new EKey(pk.method, new In(pk.i, true), pk.stable))));
        }
        result = new Pending(sum);
      }
    }
    return new Equation(key, result);
  }
Equation nullableParamEquation(int i, boolean stable)