class SchemaRegisterInjector implements Injector {

  @SuppressWarnings("unchecked")
  @Override
  public <T extends Statement> ConfiguredStatement<T> inject(
      final ConfiguredStatement<T> statement
  ) {
    if (statement.getStatement() instanceof CreateAsSelect) {
      registerForCreateAs((ConfiguredStatement<? extends CreateAsSelect>) statement);
    } else if (statement.getStatement() instanceof CreateSource) {
      registerForCreateSource((ConfiguredStatement<? extends CreateSource>) statement);
    }

    return statement;
  }

  public  SchemaRegisterInjector(
      final KsqlExecutionContext executionContext,
      final ServiceContext serviceContext
  );

}