class DocDBMetadataHandler extends GlueMetadataHandler {

    @Override
    public ListTablesResponse doListTables(BlockAllocator blockAllocator, ListTablesRequest request)
    {
        MongoClient client = getOrCreateConn(request);
        List<TableName> tables = new ArrayList<>();

        try (MongoCursor<String> itr = client.getDatabase(request.getSchemaName()).listCollectionNames().iterator()) {
            while (itr.hasNext()) {
                tables.add(new TableName(request.getSchemaName(), itr.next()));
            }

            return new ListTablesResponse(request.getCatalogName(), tables);
        }
    }

    public  DocDBMetadataHandler();
    @VisibleForTesting protected  DocDBMetadataHandler(AWSGlue glue,
            DocDBConnectionFactory connectionFactory,
            EncryptionKeyFactory keyFactory,
            AWSSecretsManager secretsManager,
            AmazonAthena athena,
            String spillBucket,
            String spillPrefix);

}