@NotNull
  public static Scope getScope(@NotNull ScopeOwner element) {
    SoftReference<Scope> ref = element.getUserData(SCOPE_KEY);
    Scope scope = dereference(ref);
    if (scope == null) {
      scope = new ScopeImpl(element);
      element.putUserData(SCOPE_KEY, new SoftReference<>(scope));
    }
    return scope;
  }
@NotNull
  public static Scope getScope(@NotNull ScopeOwner element)