public void processSign(String signature) {
   // Main Thread!!
   if (rnRForm.isDraft()) {
     rnRForm
         .getSignaturesWrapper()
         .add(new RnRFormSignature(rnRForm, signature, RnRFormSignature.TYPE.SUBMITTER));
     rnRForm.setStatus(
         rnRForm.isMissed() ? RnRForm.STATUS.SUBMITTED_MISSED : RnRForm.STATUS.SUBMITTED);
     submitRequisition();
     view.showMessageNotifyDialog();
   } else {
     rnRForm
         .getSignaturesWrapper()
         .add(new RnRFormSignature(rnRForm, signature, RnRFormSignature.TYPE.APPROVER));
     rnRForm.setStatus(RnRForm.STATUS.AUTHORIZED);
     rnRForm.setSubmittedTime(DateUtil.today());
     createStockCardsOrUnarchiveAndAddToFormForAdditionalRnrItems();
     authoriseRequisition();
   }
 }
 public boolean isDraft() {
   return rnRForm.isDraft();
 }