void (Set<ReferenceType> res, ReferenceType fromClass, int line) { if (!fromClass.isPrepared()) return; List<ReferenceType> nestedTypes = fromClass.nestedTypes(); ReferenceType springLoadedGeneratedClass = null; for (ReferenceType nested : nestedTypes) { if (!nested.isPrepared()) continue; if (isSpringLoadedGeneratedClass(fromClass, nested)) { if (springLoadedGeneratedClass == null || !springLoadedGeneratedClass.name().equals(nested.name())) { springLoadedGeneratedClass = nested; // Only latest generated classes should be used. } } else { findNested(res, nested, line); } } try { final int lineNumber = line + 1; ReferenceType effectiveRef = springLoadedGeneratedClass == null ? fromClass : springLoadedGeneratedClass; if (!DebuggerUtilsAsync.locationsOfLineSync(effectiveRef, lineNumber).isEmpty()) { res.add(effectiveRef); } } catch (ObjectCollectedException | AbsentInformationException ignored) { } }