class KsqlStructuredDataOutputNode extends OutputNode {

  @Override
  public SchemaKStream<?> buildStream(final KsqlQueryBuilder builder) {
    final PlanNode source = getSource();
    final SchemaKStream<?> schemaKStream = source.buildStream(builder);

    final QueryContext.Stacker contextStacker = builder.buildNodeContext(getId().toString());

    return schemaKStream.into(
        ksqlTopic,
        contextStacker,
        getTimestampColumn()
    );
  }

  public  KsqlStructuredDataOutputNode(
      final PlanNodeId id,
      final PlanNode source,
      final LogicalSchema schema,
      final Optional<TimestampColumn> timestampColumn,
      final KsqlTopic ksqlTopic,
      final OptionalInt limit,
      final boolean doCreateInto,
      final SourceName intoSourceName
  );

}