presto-kudu/src/main/java/io/prestosql/plugin/kudu/properties/KuduTableProperties.java/KuduTableProperties/toMap
class KuduTableProperties:    public static Map<String, Object> toMap(KuduTable table)
    {
        Map<String, Object> properties = new HashMap<>();

        LinkedHashMap<String, ColumnDesign> columns = getColumns(table);

        PartitionDesign partitionDesign = getPartitionDesign(table);

        List<RangePartition> rangePartitionList = getRangePartitionList(table, DEFAULT_DEADLINE);

        try {
            if (partitionDesign.getHash() != null) {
                List<HashPartitionDefinition> list = partitionDesign.getHash();
                if (!list.isEmpty()) {
                    properties.put(PARTITION_BY_HASH_COLUMNS, list.get(0).getColumns());
                    properties.put(PARTITION_BY_HASH_BUCKETS, list.get(0).getBuckets());
                }
                if (list.size() >= 2) {
                    properties.put(PARTITION_BY_HASH_COLUMNS_2, list.get(1).getColumns());
                    properties.put(PARTITION_BY_HASH_BUCKETS_2, list.get(1).getBuckets());
                }
            }

            if (partitionDesign.getRange() != null) {
                properties.put(PARTITION_BY_RANGE_COLUMNS, partitionDesign.getRange().getColumns());
            }

            String partitionRangesValue = mapper.writeValueAsString(rangePartitionList);
            properties.put(RANGE_PARTITIONS, partitionRangesValue);

            properties.put(NUM_REPLICAS, table.getNumReplicas());

            return properties;
        }
        catch (IOException e) {
            throw new RuntimeException(e);
        }
    }