+
+ public static long sublocation(long location, int localBegin, int localEnd) {
+ int begin = beginOf(location);
+ int end = endOf(location);
+ if(localEnd > end-begin)
+ localEnd = begin-end;
+ return location(begin+localBegin, begin+localEnd);
+ }