[Demonstration 1]

[Buggy Method]
public void onPageFinished(WebView view, final String url) {
    // if not logged in anymore
    if (url.contains(getString(R.string.cas_login_root)) || url.contains(getString(R.string.moodle_login_root))) {
        AccountManager accountManager = AccountManager.get(App.getInstance());
        if (accountManager.getAccountsByType(ACCOUNT_TYPE).length != 0) {
            Account account = accountManager.getAccountsByType(ACCOUNT_TYPE)[0];
            casClient.authenticate(account.name, accountManager.getPassword(account), activity, new UmobileRestCallback<String>() {

                @Override
                public void onError(Exception e, String response) {
                    showSnackBar(PortletWebViewActivity.this, App.getInstance().getString(R.string.error) + " " + App.getInstance().getString(R.string.lockout_reminder));
                }

                @Override
                public void onSuccess(String response) {
                    PortletWebViewActivity_.intent(activity).flags(Intent.FLAG_ACTIVITY_CLEAR_TOP).url(url).portletName(portletName).start();
                }
            });
        } else {
            LoginActivity_.intent(activity).flags(Intent.FLAG_ACTIVITY_CLEAR_TOP).url(url).portletName(portletName).start();
        }
    }
}

[Buggy Hunk]
.flags(Intent.FLAG_ACTIVITY_CLEAR_TOP)

[Patch]
.flags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)