presto-elasticsearch/src/main/java/io/prestosql/elasticsearch/ElasticsearchPageSourceProvider.java/ElasticsearchPageSourceProvider/createPageSource
class ElasticsearchPageSourceProvider:    @Override
    public ConnectorPageSource createPageSource(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorSplit split, ConnectorTableHandle table, List<ColumnHandle> columns)
    {
        requireNonNull(split, "split is null");
        requireNonNull(table, "table is null");

        return new ElasticsearchPageSource(
                client,
                session,
                (ElasticsearchTableHandle) table, (ElasticsearchSplit) split,
                columns.stream()
                        .map(ElasticsearchColumnHandle.class::cast)
                        .collect(toImmutableList()));
    }