@NotNull
  @Override
  public List<ReferenceType> getAllClasses(@NotNull final SourcePosition classPosition) throws NoDataException {

    String className = ReadAction.compute(() -> findEnclosingName(classPosition));
    if (className == null) throw NoDataException.INSTANCE;

    int line = ReadAction.compute(() -> classPosition.getLine());

    List<ReferenceType> referenceTypes = myDebugProcess.getVirtualMachineProxy().classesByName(className);
    if (referenceTypes.isEmpty()) throw NoDataException.INSTANCE;

    Set<ReferenceType> res = new HashSet<>();

    for (ReferenceType referenceType : referenceTypes) {
      findNested(res, referenceType, line);
    }

    if (res.isEmpty()) {
      throw NoDataException.INSTANCE;
    }

    return new ArrayList<>(res);
  }
@NotNull
  @Override
  public List<ReferenceType> getAllClasses(@NotNull final SourcePosition classPosition)