private void parseNonEmptySegments(List<String> out, String... elements) { // intercept empty lists if (elements == null || elements.length == 0) { return; } for (String element : elements) { String[] parts = element.split(PATH_DELIMITER); if (parts.length > 1) { parseNonEmptySegments(out, parts); } else if (parts.length == 1) { parseNonEmptySegment(out, parts[0]); } } }