class ImmutableMessageHeaders extends AbstractDittoHeaders implements MessageHeaders {

    @Override
    public String getSubject() {
        final HeaderDefinition definition = MessageHeaderDefinition.SUBJECT;
        return getStringForDefinition(definition).orElseThrow(() -> newIllegalStateException(definition));
    }

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

}