NodeRenderer (Type type) { final NodeRendererSettings settings = NodeRendererSettings.getInstance(); final PrimitiveRenderer primitiveRenderer = settings.getPrimitiveRenderer(); if (primitiveRenderer.isApplicable(type)) { return primitiveRenderer; } final ArrayRenderer arrayRenderer = settings.getArrayRenderer(); if (arrayRenderer.isApplicable(type)) { return arrayRenderer; } final ClassRenderer classRenderer = settings.getClassRenderer(); LOG.assertTrue(classRenderer.isApplicable(type), type.name()); return classRenderer; }