private static void traverseResolverTreeAndPopulateStartAndEndKeys( FilterResolverIntf filterResolverTree, SegmentProperties segmentProperties, long[] startKeys, SortedMap<Integer, byte[]> setOfStartKeyByteArray, long[] endKeys, SortedMap<Integer, byte[]> setOfEndKeyByteArray, List<long[]> startKeyList, List<long[]> endKeyList) { if (null == filterResolverTree) { return; } traverseResolverTreeAndPopulateStartAndEndKeys(filterResolverTree.getLeft(), segmentProperties, startKeys, setOfStartKeyByteArray, endKeys, setOfEndKeyByteArray, startKeyList, endKeyList); filterResolverTree .getStartKey(segmentProperties, startKeys, setOfStartKeyByteArray, startKeyList); filterResolverTree.getEndKey(segmentProperties, endKeys, setOfEndKeyByteArray, endKeyList); traverseResolverTreeAndPopulateStartAndEndKeys(filterResolverTree.getRight(), segmentProperties, startKeys, setOfStartKeyByteArray, endKeys, setOfEndKeyByteArray, startKeyList, endKeyList); }