class QueryThings extends AbstractCommand<QueryThings> implements ThingSearchQueryCommand<QueryThings> {

    public static QueryThings of(@Nullable final String filter, @Nullable final List<String> options,
            @Nullable final JsonFieldSelector fields, @Nullable final Set<String> namespaces,
            final DittoHeaders dittoHeaders) {
        return new QueryThings(dittoHeaders, filter, options, fields, namespaces);
    }

    private  QueryThings(final DittoHeaders dittoHeaders,
            @Nullable final String filter,
            @Nullable final List<String> options,
            @Nullable final JsonFieldSelector fields,
            @Nullable final Collection<String> namespaces);

}