public void createTopicWithSchema(TopicWithSchema topicWithSchema, String createdBy, CreatorRights isAllowedToManage) {
Topic topic = topicWithSchema.getTopic();
topicValidator.ensureCreatedTopicIsValid(topic, isAllowedToManage);
ensureTopicDoesNotExist(topic);
boolean validateAndRegisterSchema = AVRO.equals(topic.getContentType()) || (topic.isJsonToAvroDryRunEnabled()
&& topicWithSchema.getSchema() != null);
validateSchema(validateAndRegisterSchema, topicWithSchema, topic);
registerAvroSchema(validateAndRegisterSchema, topicWithSchema, createdBy);
createTopic(topic, createdBy);
}