public function nextVerse($mBook, $iChapter, $iVerse)
	{
		$oPassage = new SudoBiblePassage([], $this);
		$iBookId = is_numeric($mBook) ? $mBook : getIdFor('book', $mBook);

		// Steps to try
		$aSteps = [
			[$iBookId, $iChapter, $iVerse + 1], // next verse in chapter
			[$iBookId, $iChapter + 1, 1], // beginning of next chapter in book
			[$iBookId + 1, 1, 1], // beginning of next book
		];
		foreach ($aSteps as $aStep) {
			if ($oPassage->isEmpty())
				$oPassage = call_user_func_array([$this, 'verse'], $aStep);
			else
				break;
		}

		return $oPassage;
	}