Moved code in orGroupedAnd which was only necessary in one else block into that block. Also refactored common code from the other three methods into a single private method