class Shutdown extends CommonCommand<Shutdown> {

    public static Shutdown fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders) {
        return new CommandJsonDeserializer<Shutdown>(TYPE, jsonObject).deserialize(
                () -> getInstance(ShutdownReasonFactory.fromJson(
                        jsonObject.getValue(JsonFields.REASON).orElseGet(JsonObject::empty)),
                        dittoHeaders));
    }

    private  Shutdown(final ShutdownReason theReason, final DittoHeaders dittoHeaders);

}