@NotNull
  @Contract(pure = true)
  public static InferenceContext getCurrentContext() {
    InferenceContext context = ourInferenceContext.get();
    return context != null ? context : getTopContext();
  }
@NotNull
  @Contract(pure = true)
  public static InferenceContext getCurrentContext()