code: public LLIndexPage locatePageForKey(long key, long value, boolean allowCreate) {
  		if (isLeaf) {
  			return this;
  		}
  		if (nEntries == -1 && !allowCreate) {
  			return null;
  		}
  
  		//The stored value[i] is the min-values of the according page[i+1} 
          int pos = binarySearch(0, nEntries, key, value);
          if (pos >= 0) {
              //pos of matching key
              pos++;
          } else {
              pos = -(pos+1);
          }
          //TODO use weak refs
          //read page before that value
          LLIndexPage page = (LLIndexPage) readOrCreatePage(pos, allowCreate);
          return page.locatePageForKey(key, value, allowCreate);
  	}
docs: Locate the (first) page that could contain the given key.
  In the inner pages, the keys are the minimum values of the sub-page. The value is
  the according minimum value of the first key of the sub-page.
  @param key
  @return Page for that key