multipleFiles = true;
    private void processInitialQuestions(Context context,        HttpServletRequest request,        HttpServletResponse response,        SubmissionInfo subInfo)        throws ServletException, IOException, SQLException, AuthorizeException    {        String buttonPressed = UIUtil.getSubmitButton(request, "submit_next");        // Firstly, check for a click of the cancel button.        if (buttonPressed.equals("submit_cancel"))        {            doCancellation(request,                response,                subInfo,                INITIAL_QUESTIONS,                INITIAL_QUESTIONS);            return;        }        // Get the values from the form        boolean multipleTitles =            UIUtil.getBoolParameter(request, "multiple_titles");        boolean publishedBefore =            UIUtil.getBoolParameter(request, "published_before");        boolean multipleFiles =            UIUtil.getBoolParameter(request, "multiple_files");        boolean isThesis =            UIUtil.getBoolParameter(request, "is_thesis");        if (isWorkflow(subInfo))        {            // Thesis question does not appear in workflow mode..            isThesis = false;        }        // First and foremost - if it's a thesis, reject the submission        // FIXME: MIT-SPECIFIC        if (isThesis)        {            WorkspaceItem wi = (WorkspaceItem) subInfo.submission;            wi.deleteAll();            // Remember that we've removed a thesis in the session            request.getSession().setAttribute(                "removed_thesis",                new Boolean(true));            // Display appropriate message            JSPManager.showJSP(request, response, "/submit/no-theses.jsp");            context.complete();            return;        }        // Now check to see if the changes will remove any values        // (i.e. multiple files, titles or an issue date.)        boolean willRemoveTitles = false;        boolean willRemoveDate = false;        boolean willRemoveFiles = false;        if (multipleTitles == false)        {            DCValue[] altTitles = subInfo.submission.getItem().getDC(                "title", "alternative", Item.ANY);            willRemoveTitles = altTitles.length > 0;        }        if (publishedBefore == false)        {            DCValue[] dateIssued = subInfo.submission.getItem().getDC(                "date", "issued", Item.ANY);            willRemoveDate = dateIssued.length > 0;        }        if (multipleFiles == false)        {            // FIXME: Assuming each bundle has but one bitstream in it            Bundle[] bundles = subInfo.submission.getItem().getBundles();            willRemoveFiles = bundles.length > 1;        }        // If anything is going to be removed from the item as a result        // of changing the answer to one of the questions, we need        // to inform the user and make sure that's OK        if (willRemoveTitles || willRemoveDate || willRemoveFiles)        {            // Verify pruning of extra bits            request.setAttribute("submission.info", subInfo);            request.setAttribute(                "multiple.titles", new Boolean(multipleTitles));            request.setAttribute(                "published.before", new Boolean(publishedBefore));            request.setAttribute(                "multiple.files", new Boolean(multipleFiles));            request.setAttribute(                "will.remove.titles", new Boolean(willRemoveTitles));            request.setAttribute(                "will.remove.date", new Boolean(willRemoveDate));            request.setAttribute(                "will.remove.files", new Boolean(willRemoveFiles));            request.setAttribute("button.pressed",                UIUtil.getSubmitButton(request, "submit_next"));            JSPManager.showJSP(request, response, "/submit/verify-prune.jsp");        }        else        {            // Nothing needs removing, so just make the changes            subInfo.submission.setMultipleTitles(multipleTitles);            subInfo.submission.setPublishedBefore(publishedBefore);            // "Multiple files" irrelevant in workflow mode            if (!isWorkflow(subInfo))            {                subInfo.submission.setMultipleFiles(multipleFiles);            }            subInfo.submission.update();            // On to the next stage            if (buttonPressed.equals("submit_next"))            {                // Update user's progress                userHasReached(subInfo, EDIT_METADATA_1);                // User has clicked "Next"                doStep(context, request, response, subInfo, EDIT_METADATA_1);            }            else            {                // Progress bar button clicked                doStepJump(context, request, response, subInfo);            }            context.complete();        }    }