class CreateThing extends AbstractCommand<CreateThing> implements ThingModifyCommand<CreateThing> {

    public static CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
            final DittoHeaders dittoHeaders) {
        checkNotNull(newThing, "new Thing");
        return new CreateThing(newThing, initialPolicy, dittoHeaders);
    }

    private  CreateThing(final Thing thing, @Nullable final JsonObject initialPolicy, final DittoHeaders dittoHeaders);
    private  CreateThing(final Thing thing, final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders);

}