assert segments != null;
assert segments.isEmpty() == false;
assert segments.getFirst().isTraverse() == false;
List<Path> results = new ArrayList<Path>();
Segment current = segments.removeFirst();
for (String segment : resolve(current)) {
results.add(new Path(segment));
}
while (isGlobRequired(current) && segments.isEmpty() == false && segments.getFirst().isTraverse() == false) {
current = segments.removeFirst();