class ExampleMetadataHandler extends MetadataHandler {

    @Override
    public ListTablesResponse doListTables(BlockAllocator allocator, ListTablesRequest request)
    {
        logCaller(request);
        List<TableName> tables = new ArrayList<>();
        tables.add(new TableName(ExampleTable.schemaName, ExampleTable.tableName));

        //The below filter for null schema is not typical, we do this to generate a specific semantic error
        //that is exercised in our unit test suite.
        return new ListTablesResponse(request.getCatalogName(),
                tables.stream()
                        .filter(table -> request.getSchemaName() == null || request.getSchemaName().equals(table.getSchemaName()))
                        .collect(Collectors.toList()));
    }

    public  ExampleMetadataHandler();
    @VisibleForTesting protected  ExampleMetadataHandler(EncryptionKeyFactory keyFactory,
            AWSSecretsManager awsSecretsManager,
            AmazonAthena athena,
            String spillBucket,
            String spillPrefix);

}