I'd change this method to not static, call it getFinerRanges(), make it take argument Range range and then find out the sub-ranges. It should return a List<Range>.