class ImmutableMessageHeaders extends AbstractDittoHeaders implements MessageHeaders {

    @Override
    public ThingId getThingEntityId() {
        final String thingId = getStringForDefinition(MessageHeaderDefinition.THING_ID)
                .orElseThrow(() -> newIllegalStateException(MessageHeaderDefinition.THING_ID));

        return ThingId.of(thingId);
    }

    private  ImmutableMessageHeaders(final Map<String, String> theDittoHeaders);

}