@Override
 public List<SchemaTableName> listTables(ConnectorSession session, String schemaNameOrNull) {
   ImmutableList.Builder<SchemaTableName> tableNames = ImmutableList.builder();
   for (String schemaName : listSchemas(session, schemaNameOrNull)) {
     try {
       for (String tableName : metastore.getAllTables(schemaName)) {
         tableNames.add(new SchemaTableName(schemaName, tableName));
       }
     } catch (NoSuchObjectException e) {
       // schema disappeared during listing operation
     }
   }
   return tableNames.build();
 }