@Override public void debugData(final DebugBuilder debug) { facetDecoratorSet.debugData(debug); debug.appendln(); debug.appendTitle("Specifications"); final List<ObjectSpecification> specs = Lists.newArrayList(allSpecifications()); Collections.sort(specs, ObjectSpecification.COMPARATOR_SHORT_IDENTIFIER_IGNORE_CASE); for (final ObjectSpecification spec : specs) { StringBuffer str = new StringBuffer(); str.append(spec.isAbstract() ? "A" : "."); str.append(spec.isService() ? "S" : "."); str.append(ChoicesFacetUtils.hasChoices(spec) ? "B" : "."); str.append(spec.isParentedOrFreeCollection() ? "C" : "."); str.append(spec.isNotCollection() ? "O" : "."); str.append(spec.isParseable() ? "P" : "."); str.append(spec.isEncodeable() ? "E" : "."); str.append(spec.isValueOrIsParented() ? "A" : "."); final boolean hasIdentity = !(spec.isParentedOrFreeCollection() || spec.isParented() || spec.isValue()); str.append(hasIdentity ? "I" : "."); str.append(" "); str.append(spec.getFullIdentifier()); debug.appendPreformatted(spec.getShortIdentifier(), str.toString()); } }