break;  case CC_LICENSE: processCC(context, request, response, subInfo);
    protected void doDSPost(Context context,        HttpServletRequest request,        HttpServletResponse response)        throws ServletException, IOException, SQLException, AuthorizeException    {        // First of all, we need to work out if this is a multipart request        // The file upload page uses those        String contentType = request.getContentType();        if (contentType != null &&            contentType.indexOf("multipart/form-data") != -1)        {            // This is a multipart request, so it's a file upload            processChooseFile(context, request, response);            return;        }        // First get the step        int step = UIUtil.getIntParameter(request, "step");        // select collection is a special case - no submissioninfo object        // If no step was given, we also assume "select collection"        // (Submit button on collection home page or elsewhere)        if (step == SELECT_COLLECTION || step == -1)        {            processSelectCollection(context, request, response);            return;        }        // Get submission info        SubmissionInfo subInfo = getSubmissionInfo(context, request);        if (subInfo == null)        {            /*             * Work around for problem where people select "is a thesis",             * see the error page, and then use their "back" button thinking             * they can start another submission - it's been removed so the ID             * in the form is invalid.  If we detect the "removed_thesis"             * attribute we display a friendly message instead of an integrity             * error.             */            if (request.getSession().getAttribute("removed_thesis") != null)            {                request.getSession().removeAttribute("removed_thesis");                JSPManager.showJSP(request,                    response,                    "/submit/thesis-removed-workaround.jsp");                return;            }            else            {                /*                 * If the submission info was invalid, set the step to an                 * invalid number so an integrity error will be shown                 */                step = -1;            }        }        switch (step)        {        case INITIAL_QUESTIONS:            processInitialQuestions(context, request, response, subInfo);            break;        case EDIT_METADATA_1:            processEditMetadataOne(context, request, response, subInfo);            break;        case EDIT_METADATA_2:            processEditMetadataTwo(context, request, response, subInfo);            break;        case GET_FILE_FORMAT:            processGetFileFormat(context, request, response, subInfo);            break;        case FILE_LIST:            processFileList(context, request, response, subInfo);            break;        case UPLOAD_ERROR:            processUploadError(context, request, response, subInfo);            break;        case CHANGE_FILE_DESCRIPTION:            processChangeFileDescription(context, request, response, subInfo);            break;        case REVIEW_SUBMISSION:            processReview(context, request, response, subInfo);            break;        case GRANT_LICENSE:            processLicense(context, request, response, subInfo);            break;        case CC_LICENSE:            processCC(context, request, response, subInfo);            break;        case SUBMISSION_CANCELLED:            processCancellation(context, request, response, subInfo);            break;        case VERIFY_PRUNE:            processVerifyPrune(context, request, response, subInfo);            break;        default:            log.warn(LogManager.getHeader(context,                "integrity_error",                UIUtil.getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);        }    }