presto-kinesis/src/main/java/io/prestosql/plugin/kinesis/KinesisMetadata.java/KinesisMetadata/getTableMetadata
class KinesisMetadata:    private ConnectorTableMetadata getTableMetadata(SchemaTableName schemaTableName)
    {
        KinesisStreamDescription kinesisStreamDescription = tableDescriptionSupplier.get().get(schemaTableName);
        if (kinesisStreamDescription == null) {
            throw new TableNotFoundException(schemaTableName);
        }

        ImmutableList.Builder<ColumnMetadata> builder = ImmutableList.builder();

        KinesisStreamFieldGroup message = kinesisStreamDescription.getMessage();
        if (message != null) {
            List<KinesisStreamFieldDescription> fields = message.getFields();
            if (fields != null) {
                for (KinesisStreamFieldDescription fieldDescription : fields) {
                    builder.add(fieldDescription.getColumnMetadata());
                }
            }
        }

        for (KinesisInternalFieldDescription fieldDescription : internalFieldDescriptions) {
            builder.add(fieldDescription.getColumnMetadata(isHideInternalColumns));
        }

        return new ConnectorTableMetadata(schemaTableName, builder.build());
    }