private void createRequestForSubclasses(DebugProcessImpl debugProcess, ReferenceType baseType) {
    final VirtualMachineProxyImpl virtualMachineProxy = debugProcess.getVirtualMachineProxy();

    // create a request for classes that are already loaded
    virtualMachineProxy.allClasses()
      .stream()
      .filter(type -> DebuggerUtilsImpl.instanceOf(type, baseType) && !type.name().equals(baseType.name()))
      .forEach(derivedType -> createRequestForClass(debugProcess, derivedType));

    // wait for the subclasses
    RequestManagerImpl requestManager = debugProcess.getRequestsManager();
    ClassPrepareRequest request = requestManager.createClassPrepareRequest((debuggerProcess, derivedType) -> {
      createRequestForClass(debugProcess, derivedType);
    }, null);
    if (request != null) {
      requestManager.registerRequest(this, request);
      request.addClassFilter(baseType);
      request.enable();
    }
  }
private void createRequestForSubclasses(DebugProcessImpl debugProcess, ReferenceType baseType)