@Override
  public void addDerivedReference(@NotNull RefOverridable reference) {
    if (reference.getDerivedReferences().contains(this)) return;
    synchronized (this) {
      if (myDerivedReferences == null) {
        myDerivedReferences = new ArrayList<>(1);
      }
      if (!myDerivedReferences.contains(reference)) {
        myDerivedReferences.add(reference);
      }
    }
  }
@Override
  public void addDerivedReference(@NotNull RefOverridable reference)