@Test
public void testFragmentSortC() throws Exception {

    List<String> fragmentList = new ArrayList<String>();
    for (int i = 0; i < 4; i++) {
        fragmentList.add(String.valueOf((char) ('A' + i)));
    }
    List<String> sortedList = SortUtils.sort(fragmentList, new Visitor<String>() {
        @Override
        public boolean afterOthers(String t) {
            return t.equals("A");
        }
        @Override
        public boolean beforeOthers(String t) {
            return t.equals("C");
        }
        @Override
        public List<String> getAfterNames(String t) {
            return Collections.emptyList();
        }
        @Override
        public List<String> getBeforeNames(String t) {
            return Collections.emptyList();
        }
        @Override
        public String getName(String t) {
            return t;
        }
    });
    Assert.assertEquals(Arrays.asList("C", "B", "D", "A"), sortedList);
}