The next ~10 lines are common for this method and findNext(). Please either extract them into a separate function, or (better yet), add a parameter to findNext(), which specifies the direction of search and remove findPrevious().