private void pickMatchingChildren(Segment segment, Status status) { if (segment != null) { for (MatchSegment parent : status.candidates) { if (parent.pathNode.hasGlob()) { status.matches.add( new MatchSegment(parent, parent.pathNode, parent.pathNode.segment, segment)); } if (parent.pathNode.children != null) { for (PathNode node : parent.pathNode.children.values()) { if (node.matches(segment)) { status.matches.add(new MatchSegment(parent, node, node.segment, segment)); } } } } status.swapMatchesToCandidates(); } }