@Nullable
  PurityInferenceResult getResult() {
    if (unknownPurity()) return null;

    int bodyStart = body.getStartOffset();
    return new PurityInferenceResult(
      mutatesThis,
      ContainerUtil.map(mutatedRefs, node -> ExpressionRange.create(node, bodyStart)),
      calls.isEmpty() ? null : ExpressionRange.create(calls.get(0), bodyStart));
  }
@Nullable
  PurityInferenceResult getResult()