code: @Override
    public TableName[] listTableNames(Pattern pattern) throws IOException {
      List<TableName> result = new ArrayList<>();
  
      for (TableName tableName : listTableNames()) {
        if (pattern.matcher(tableName.getNameAsString()).matches()) {
          result.add(tableName);
        }
      }
  
      return result.toArray(new TableName[result.size()]);
    }
docs: {@inheritDoc}