/** Collects all the StarTree leaves that match the provided dimension values */ private void findMatchingLeaves( StarTreeIndexNode node, List<Integer> values, Set<StarTreeIndexNode> leaves) { if (node.isLeaf()) { leaves.add(node); } else { Integer value = values.get(node.getChildDimensionName()); findMatchingLeaves(node.getChildren().get(value), values, leaves); findMatchingLeaves(node.getChildren().get(StarTreeIndexNode.all()), values, leaves); } }