@Override
    public SortedSet<Path> convertFrom(String value) {
        if (value == null) {
            throw new ParameterException("Path list must not be null.");
        }

        return Arrays.stream(value.split(SEPARATOR))
                     .map(StringUtils::trimToNull)
                     .filter(Objects::nonNull)
                     .map(Paths::get)
                     .collect(Collectors.toCollection(sortedPathSupplier()));
    }
@Test
    public void testConvertFrom() {
        // Verify path set sizes.
        assertEquals(0, converter.convertFrom("").size());
        assertEquals(0, converter.convertFrom(",").size());
        assertEquals(0, converter.convertFrom(",,,").size());
        assertEquals(1, converter.convertFrom("/another-dir").size());
        assertEquals(1, converter.convertFrom("/another-dir;/some-dir;/finally-dir").size());
        assertEquals(3, converter.convertFrom("/another-dir, /some-dir, /finally-dir").size());

        // Verify path sorting.
        final String unsortedPaths = "/some-dir,/Z-dir,/z-dir,/another-dir/sub,/another-dir";
        final SortedSet<Path> result = converter.convertFrom(unsortedPaths);
        assertEquals(5, result.size());
        assertEquals("Paths were not sorted as expected",
                     "/Z-dir,/another-dir,/another-dir/sub,/some-dir,/z-dir",
                     result.stream().map(Path::toString).collect(Collectors.joining(",")));
    }