private Map<String, Object> processType(final Class<? extends ConfiguredObject> type, final Model model) { Map<String, Object> typeDetails = new LinkedHashMap<>(); typeDetails.put("attributes", processAttributes(type, model)); typeDetails.put("statistics", processStatistics(type, model)); typeDetails.put("operations", processOperations(type, model)); typeDetails.put("managedInterfaces", getManagedInterfaces(type, model)); typeDetails.put("validChildTypes", getValidChildTypes(type, model)); typeDetails.put("contextDependencies", getContextDependencies(type, model)); ManagedObject annotation = type.getAnnotation(ManagedObject.class); if (annotation != null) { if (annotation.deprecated()) { typeDetails.put("deprecated", true); } if (!"".equals(annotation.description())) { typeDetails.put("description", annotation.description()); } } return typeDetails; }