@Override
  public @NotNull Collection<CompilerRef.CompilerClassHierarchyElementDef> getDirectInheritors(@NotNull CompilerRef.CompilerClassHierarchyElementDef baseClass)
    throws ReferenceIndexUnavailableException {
    try {
      if (!myReadDataLock.tryLock()) return Collections.emptyList();
      try {
        if (myReader == null) throw new ReferenceIndexUnavailableException();

        return myReader.getDirectInheritors(baseClass);
      }
      finally {
        myReadDataLock.unlock();
      }
    }
    catch (Exception e) {
      onException(e, "find methods");
      throw new ReferenceIndexUnavailableException();
    }
  }
@Override
  public @NotNull Collection<CompilerRef.CompilerClassHierarchyElementDef> getDirectInheritors(@NotNull CompilerRef.CompilerClassHierarchyElementDef baseClass)