class ResponseCustomizer implements ComponentProxyCustomizer, OutputDataShapeAware {

    static boolean isUnifiedDataShape(final DataShape dataShape) {
        if (dataShape == null || dataShape.getKind() != DataShapeKinds.JSON_SCHEMA) {
            return false;
        }

        final String specification = dataShape.getSpecification();
        if (ObjectHelper.isEmpty(specification)) {
            return false;
        }

        final JsonNode jsonSchema;
        try {
            jsonSchema = PayloadConverterBase.MAPPER.readTree(specification);
        } catch (final IOException e) {
            LOG.warn("Unable to parse data shape as a JSON: {}", e.getMessage());
            LOG.debug("Failed parsing JSON datashape: `{}`", specification, e);
            return false;
        }

        final JsonNode id = jsonSchema.get("$id");

        return !isNullNode(id) && "io:syndesis:wrapped".equals(id.asText());
    }

}