@Override
    protected int compareFirst(final Path p1, final Path p2) {
        if(StringUtils.isBlank(p1.attributes().getRegion()) && StringUtils.isBlank(p2.attributes().getRegion())) {
            return 0;
        }
        if(StringUtils.isBlank(p1.attributes().getRegion())) {
            return -1;
        }
        if(StringUtils.isBlank(p2.attributes().getRegion())) {
            return 1;
        }
        if(ascending) {
            return p1.attributes().getRegion().compareToIgnoreCase(p2.attributes().getRegion());
        }
        return -p1.attributes().getRegion().compareToIgnoreCase(p2.attributes().getRegion());
    }
@Test
    public void testCompareFirst() {
        assertEquals(0,
                new RegionComparator(true).compareFirst(new Path("/a", EnumSet.of(Path.Type.file)), new Path("/b", EnumSet.of(Path.Type.file))));
    }