@JsonCreator
public TopicWithSchema(@JsonProperty("schema") String schema,
@JsonProperty("name") String qualifiedName,
@JsonProperty("description") String description,
@JsonProperty("owner") OwnerId owner,
@JsonProperty("retentionTime") RetentionTime retentionTime,
@JsonProperty("jsonToAvroDryRun") boolean jsonToAvroDryRunEnabled,
@JsonProperty("ack") Ack ack,
@JsonProperty("trackingEnabled") boolean trackingEnabled,
@JsonProperty("migratedFromJsonType") boolean migratedFromJsonType,
@JsonProperty("schemaVersionAwareSerializationEnabled") boolean schemaVersionAwareSerializationEnabled,
@JsonProperty("contentType") ContentType contentType,
@JsonProperty("maxMessageSize") Integer maxMessageSize,
@JsonProperty("auth") PublishingAuth publishingAuth,
@JsonProperty("subscribingRestricted") boolean subscribingRestricted,
@JsonProperty("offlineStorage") TopicDataOfflineStorage offlineStorage) {
super(qualifiedName, description, owner, retentionTime, jsonToAvroDryRunEnabled, ack, trackingEnabled,
migratedFromJsonType, schemaVersionAwareSerializationEnabled, contentType, maxMessageSize,
publishingAuth, subscribingRestricted, offlineStorage);
this.topic = convertToTopic();
this.schema = schema;
}