@Override
  public synchronized Set<? extends T> getDependent() {
    if(myInterfaceDependencies == null) {
      HashSet<T> dependencies = new HashSet<>();
      HashMap<T, HashSet<T>> membersToInterfacesMap = new HashMap<>();
      for (final PsiClass implementedInterface : myImplementedInterfaces) {
        addInterfaceDeps(implementedInterface, dependencies, membersToInterfacesMap);
      }
      myInterfaceDependencies = dependencies;
      myMembersToInterfacesMap = membersToInterfacesMap;
    }
    return myInterfaceDependencies;
  }
@Override
  public synchronized Set<? extends T> getDependent()