@Override
  public synchronized Set<? extends T> getDependent() {
    if (myDependencies == null) {
      HashSet<T> dependencies = new HashSet<>();
      HashMap<T, HashSet<T>> dependenciesToDependentMap = new HashMap<>();

      buildDeps(mySelectedNormal, dependencies, dependenciesToDependentMap);

      myDependencies = dependencies;
      myDependenciesToDependentMap = dependenciesToDependentMap;
    }
    return myDependencies;
  }
@Override
  public synchronized Set<? extends T> getDependent()