public FragmentElement pop() { FragmentElement last = lastShownFragment(); FragmentElement lastFragment = popInternal(); while ((lastFragment != null && !lastFragment.isAddtoBackStack()) || (lastFragment != null && lastFragment.equals(last))) { lastFragment = popInternal(); } if (lastFragment != null) { lastFragment.setPopped(true); } return lastFragment; }