class CommandFactories implements DdlCommandFactory {

  @Override
  public DdlCommand create(
      String sqlExpression,
      final DdlStatement ddlStatement,
      final Map<String, Object> properties
  ) {
    if (!factories.containsKey(ddlStatement.getClass())) {
      throw new KsqlException(
          "Unable to find ddl command factory for statement:"
          + ddlStatement.getClass()
          + " valid statements:"
          + factories.keySet()
      );
    }
    return factories.get(ddlStatement.getClass()).create(sqlExpression, ddlStatement, properties);
  }

  public  CommandFactories(
      final KafkaTopicClient topicClient,
      final SchemaRegistryClient schemaRegistryClient,
      final boolean enforceTopicExistence
  );

}