if (request instanceof FileUploadRequest) { FileUploadRequest fur = (FileUploadRequest) request; request = fur.getOriginalRequest(); }
    private void doStepJump(Context context,        HttpServletRequest request,        HttpServletResponse response,        SubmissionInfo subInfo)        throws ServletException, IOException, SQLException    {        // Find the button that was pressed.  It would start with        // "submit_jump_".        String buttonPressed = UIUtil.getSubmitButton(request, "");        int nextStep = -1;        if (buttonPressed.startsWith("submit_jump_"))        {            // Button on progress bar pressed            try            {                nextStep = Integer.parseInt(buttonPressed.substring(12, 13));            }            catch (NumberFormatException ne)            {                // mangled number                nextStep = -1;            }            // Integrity check: make sure they aren't going            // forward or backward too far            if (nextStep <= SubmitServlet.SELECT_COLLECTION)            {                nextStep = -1;            }            if (!isWorkflow(subInfo) && nextStep > getStepReached(subInfo))            {                nextStep = -1;            }        }        if (nextStep == -1)        {            // Either no button pressed, or an illegal stage            // reached.  UI doesn't allow this, so something's            // wrong if that happens.            log.warn(LogManager.getHeader(context,                "integrity_error",                UIUtil.getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);        }        else        {            // Do the relevant step            doStep(context, request, response, subInfo, nextStep);        }    }