/** * Grabs the write lock. * Caller must NOT have the read lock. * The bucket should be splittable (range start != range end). * @param r the range start of the bucket to be split */ private void split(int r) { if (!getWriteLock()) return; try { locked_split(r); } finally { releaseWriteLock(); } }