final protected AbstractIndexPage getPrevLeafPage(AbstractIndexPage indexPage) {
		int pos = getPagePosition(indexPage);
		if (pos > 0) {
			AbstractIndexPage page = getPageByPos(pos-1);
			return page.getLastLeafPage();
		}
		if (getParent() == null) {
			return null;
		}
		//TODO we really should return the last leaf page of the previous inner page.
		//But if they get merged, then we have to shift minimal values, which is
		//complicated. For now we ignore this case, hoping that it doesn't matter much.
		return null;
	}
final protected AbstractIndexPage getPrevLeafPage ( AbstractIndexPage indexPage ) { int pos = getPagePosition ( indexPage ) ; if ( pos > 0 ) { AbstractIndexPage page = getPageByPos ( pos - 1 ) ; return page . getLastLeafPage ( ) ; } if ( getParent ( ) == null ) { return null ; } return null ; }
Returns only LEAF pages.
TODO for now this ignores leafPages on a previous inner node. It returns only leaf pages
from the current node.
@param indexPage
@return The previous leaf page or null, if the given page is the first page.