List<ReferenceType> () { ArrayList<ReferenceType> referenceTypes = new ArrayList<>(); ClassType type = this; do { referenceTypes.add(type); type = type.superclass(); } while (type != null); referenceTypes.addAll(allInterfaces()); return referenceTypes; }