docs: NullnessPropagationTransfer setContext(@Nullable Context context) {
      // This is a best-effort check (similar to ArrayList iterators, for instance), no guarantee
      Preconditions.checkArgument(
          context == null || this.context == null,
          "Context already set: reset after use and don't use this class concurrently");
      this.context = context;
      // Clear traversed set just-in-case as this marks the beginning or end of analyzing a method
      this.traversed.clear();
      // Null out local inference results when leaving a method
      this.inferenceResults = null;
      return this;
    }