presto-iceberg/src/main/java/io/prestosql/plugin/iceberg/IcebergMetadata.java/IcebergMetadata/getRawSystemTable
class IcebergMetadata:    private Optional<SystemTable> getRawSystemTable(ConnectorSession session, IcebergTableHandle table)
    {
        org.apache.iceberg.Table icebergTable = getIcebergTable(metastore, hdfsEnvironment, session, table.getSchemaTableName());
        switch (table.getTableType()) {
            case PARTITIONS:
                return Optional.of(new PartitionTable(table, typeManager, icebergTable));
            case HISTORY:
                return Optional.of(new HistoryTable(table.getSchemaTableNameWithType(), icebergTable));
            case SNAPSHOTS:
                return Optional.of(new SnapshotsTable(table.getSchemaTableNameWithType(), typeManager, icebergTable));
        }
        return Optional.empty();
    }