List<ClientProperty> (Class componentClass) { List<ClientProperty> result = new ArrayList<>(); while(!componentClass.getName().equals(Object.class.getName())) { List<ClientProperty> props = myPropertyMap.get(componentClass.getName()); if (props != null) { result.addAll(props); } componentClass = componentClass.getSuperclass(); } result.sort(null); return result; }