public void merge() {
        if (conditions.size() > 1) {
            Collection<ShardingCondition> result = new LinkedList<>();
            result.add(conditions.remove(conditions.size() - 1));
            while (!conditions.isEmpty()) {
                findUniqueShardingCondition(result, conditions.remove(conditions.size() - 1)).ifPresent(result::add);
            }
            conditions.addAll(result);
        }
    }
@Test
    void assertMerge() {
        ShardingConditions multipleShardingConditions = createMultipleShardingConditions();
        multipleShardingConditions.merge();
        assertThat(multipleShardingConditions.getConditions().size(), is(2));
    }