class RetrieveThingsResponse extends AbstractCommandResponse<RetrieveThingsResponse> implements
        ThingQueryCommandResponse<RetrieveThingsResponse>, WithNamespace {

    public static RetrieveThingsResponse of(final List<String> thingsPlainJson, @Nullable final String namespace,
            final DittoHeaders dittoHeaders) {
        return new RetrieveThingsResponse(HttpStatusCode.OK, null, thingsPlainJson.stream()
                .collect(Collectors.joining(",", "[", "]")), namespace, dittoHeaders);
    }

    private  RetrieveThingsResponse(final HttpStatusCode statusCode, @Nullable final JsonArray things,
            final String thingsPlainJson, @Nullable final String namespace, final DittoHeaders dittoHeaders);

}