void (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(); } }