protected File attachSupplimentNotificationDocumentTextIfNeeded(
      AssignmentServiceContext context,
      String workItemId,
      AbstractHandlerUtils handlerUtils,
      File supplementRequestDocFile)
      throws Exception {
    if (mLogger.isLoggable(Level.INFO)) {
      mLogger.info(
          "********Debug: Staff User - Supplement Assignment Case, \n***** Before handlerUtils.createSupplementRequestDoc");
    }

    // Create Supplement Request Doc (returned as a Text buffer)
    String suppNotificationDocText = handlerUtils.createSupplementRequestDoc(context, workItemId);

    if (mLogger.isLoggable(Level.INFO)) {
      mLogger.info(
          "********Debug:  After handlerUtils.createSupplementRequestDoc, suppNotificationDocText=\n "
              + suppNotificationDocText);
    }

    // Only add the suppplement request doc attachement file
    //      Upon successful generation of Supplement Request doc
    //
    if (suppNotificationDocText.length() > 0) {
      // Save Supplement Request Text as a new disk file
      String fileExt = AssignmentDeliveryConstants.FILE_EXTENSION_TXT;
      String filePrefix1 = AssignmentDeliveryConstants.SUPPLEMENT_REQUEST_PREFIX;
      supplementRequestDocFile =
          handlerUtils.writeSupplementRequestDocFile(
              suppNotificationDocText, filePrefix1, fileExt, workItemId);
      if (supplementRequestDocFile.exists()) {
        if (mLogger.isLoggable(Level.INFO)) {
          mLogger.info(
              "********Debug:  After handlerUtils.writeSupplementRequestDocFile, supp Asb FilePath=\n "
                  + supplementRequestDocFile.getAbsoluteFile());
        }
      }

      if (mLogger.isLoggable(Level.INFO)) {
        mLogger.info("Debug:  Now Attaching Supplement Request Doc File. ");
      }

      AttachmentObject attachmentObjectSup =
          new AttachmentObject(supplementRequestDocFile, MCFConstants.ATTACH_OBJ_TEXT_NOTE);
      attachmentObjectSup.setTabNumber(1);

      // Set Desc1 and Desc2 for Supplement_Request
      attachmentObjectSup.setDesc2("Supplement-Request");
      attachmentObjectSup.setDesc1("Supplement-Request");

      context.getAttachmentObjects().add(attachmentObjectSup);

      String attObjDesc1Prop = attachmentObjectSup.getDesc1();
      mLogger.info(
          "********** Debug: After Attaching Supplement Request Doc File, Verify attachmentObjectSup.getDesc1(), attObjDesc1Prop= "
              + attObjDesc1Prop);
    }
    return supplementRequestDocFile;
  }
  private File[] carryOverAttachementsFromAaaInfoDoc(
      AssignmentServiceContext context,
      String workItemId,
      AbstractHandlerUtils handlerUtils,
      AdditionalAppraisalAssignmentInfoDocument aaaInfoDoc)
      throws Exception {
    File[] attachmentFileList = new File[0];
    if (aaaInfoDoc != null) {
      if (aaaInfoDoc.getAdditionalAppraisalAssignmentInfo().isSetAssociatedAttachments()) {
        File[] attachmentFileList1 = attachmentFileList;
        int numOfAttachments;
        if (aaaInfoDoc
            .getAdditionalAppraisalAssignmentInfo()
            .getAssociatedAttachments()
            .isSetFileAttachments()) {
          numOfAttachments = 0;
          numOfAttachments =
              aaaInfoDoc
                  .getAdditionalAppraisalAssignmentInfo()
                  .getAssociatedAttachments()
                  .getFileAttachments()
                  .sizeOfFileAttachmentArray();

          if (mLogger.isLoggable(Level.INFO)) {
            mLogger.info(
                "\n\n******************************************************************************************************************");
            mLogger.info(
                "\n***********Debug: Before addFileAttachementsToADContext, Have aaaInfoDoc, numOfAttachments= "
                    + numOfAttachments);
            mLogger.info(
                "******************************************************************************************************************\n\n");
          }

          if (numOfAttachments > 0) {

            attachmentFileList1 =
                handlerUtils.addFileAttachementsToADContext(context, aaaInfoDoc, workItemId, false);

            // TODO - Need additional Exception Handling for retrieval of Attachements ??

            if (mLogger.isLoggable(Level.INFO)) {
              mLogger.info(
                  "*****Debug: deliverAssignment: After addFileAttachementsToADContext...");
            }
          }
        }
        attachmentFileList = attachmentFileList1;
      }
    }
    return attachmentFileList;
  }
  protected File extractSupplimentToOriginalNoticeFileIfRequired(
      String workItemId, UserInfoDocument userInfo, AbstractHandlerUtils handlerUtils)
      throws Exception {
    File suppToOrigNoticeFile;
    if (mLogger.isLoggable(Level.INFO)) {
      mLogger.info("Debug:  Have SupplementConvertedToOriginal case. ");
    }
    suppToOrigNoticeFile = handlerUtils.getsuppToOrigTextFile(userInfo, workItemId);

    if (suppToOrigNoticeFile.exists()) {
      if (mLogger.isLoggable(Level.INFO)) {
        mLogger.info(
            "Debug:  After handlerUtils.getsuppToOrigTextFile. suppToOrigNoticeFile exists!! ");
      }
    } else {
      mLogger.warning(
          "Debug:  After handlerUtils.getsuppToOrigTextFile. suppToOrigNoticeFile does not exist!! ");
    }
    return suppToOrigNoticeFile;
  }