/**
   * This method is used to get Other Narrative Attachments
   *
   * @return otherNarrativeAttachmentsDocument {@link XmlObject} of type
   *     OtherNarrativeAttachmentsDocument.
   */
  private OtherNarrativeAttachmentsDocument getOtherNarrativeAttachments() {

    OtherNarrativeAttachmentsDocument otherNarrativeAttachmentsDocument =
        OtherNarrativeAttachmentsDocument.Factory.newInstance();
    OtherNarrativeAttachments otherNarrativeAttachments =
        OtherNarrativeAttachments.Factory.newInstance();
    otherNarrativeAttachments.setFormVersion(S2SConstants.FORMVERSION_1_1);
    AttachmentGroupMin1Max100DataType attachmentGroupMin1Max100DataType =
        AttachmentGroupMin1Max100DataType.Factory.newInstance();
    attachmentGroupMin1Max100DataType.setAttachedFileArray(getAttachedFileDataTypes());
    otherNarrativeAttachments.setAttachments(attachmentGroupMin1Max100DataType);
    otherNarrativeAttachmentsDocument.setOtherNarrativeAttachments(otherNarrativeAttachments);
    return otherNarrativeAttachmentsDocument;
  }
  /**
   * This method returns NSFCoverPage13Document object based on proposal development document which
   * contains the NSFCoverPage13Document informations
   * NSFUnitConsideration,FundingOpportunityNumber,PIInfo,CoPIInfo,OtherInfo,and SingleCopyDocuments
   * for a particular proposal
   *
   * @return nsfCoverPage13Document {@link XmlObject} of type NSFCoverPage13Document.
   */
  private NSFCoverPage13Document getNSFCoverPage13() {
    NSFCoverPage13Document nsfCoverPage13Document = NSFCoverPage13Document.Factory.newInstance();
    NSFCoverPage13 nsfCoverPage13 = NSFCoverPage13.Factory.newInstance();
    nsfCoverPage13.setFormVersion(S2SConstants.FORMVERSION_1_3);
    setFundingOpportunityNumber(nsfCoverPage13);
    if (pdDoc.getDevelopmentProposal().getS2sOpportunity() != null
        && pdDoc.getDevelopmentProposal().getS2sOpportunity().getClosingDate() != null) {
      nsfCoverPage13.setDueDate(
          pdDoc.getDevelopmentProposal().getS2sOpportunity().getClosingDate());
    }
    nsfCoverPage13.setNSFUnitConsideration(getNSFUnitConsideration());
    setOtherInfo(nsfCoverPage13);
    AttachmentGroupMin1Max100DataType attachmentGroup =
        AttachmentGroupMin1Max100DataType.Factory.newInstance();
    attachmentGroup.setAttachedFileArray(getAttachedFileDataTypes());
    if (attachmentGroup.getAttachedFileArray().length > 0)
      nsfCoverPage13.setSingleCopyDocuments(attachmentGroup);

    nsfCoverPage13Document.setNSFCoverPage13(nsfCoverPage13);
    return nsfCoverPage13Document;
  }