presto-kafka/src/main/java/io/prestosql/plugin/kafka/KafkaTopicDescription.java/KafkaTopicDescription/KafkaTopicDescription
class KafkaTopicDescription:    @JsonCreator
    public KafkaTopicDescription(
            @JsonProperty("tableName") String tableName,
            @JsonProperty("schemaName") Optional<String> schemaName,
            @JsonProperty("topicName") String topicName,
            @JsonProperty("key") Optional<KafkaTopicFieldGroup> key,
            @JsonProperty("message") Optional<KafkaTopicFieldGroup> message)
    {
        checkArgument(!isNullOrEmpty(tableName), "tableName is null or is empty");
        this.tableName = tableName;
        this.topicName = requireNonNull(topicName, "topicName is null");
        this.schemaName = requireNonNull(schemaName, "schemaName is null");
        this.key = requireNonNull(key, "key is null");
        this.message = requireNonNull(message, "message is null");
    }