docs: private KeyPersons getKeyPersons(BudgetPeriodDto periodInfo) {
          KeyPersons keyPersons = KeyPersons.Factory.newInstance();
          if (periodInfo != null) {
              if (periodInfo.getKeyPersons() != null) {
                  KeyPersonDataType[] keyPersonDataTypeArray = new KeyPersonDataType[periodInfo.getKeyPersons().size()];
                  int keyPersonCount = 0;
                  for (KeyPersonDto keyPerson : periodInfo.getKeyPersons()) {
                      KeyPersonDataType keyPersonDataType = KeyPersonDataType.Factory.newInstance();
                      keyPersonDataType.setName(globLibV10Generator.getHumanNameDataType(keyPerson));
                      keyPersonDataType.setProjectRole(keyPerson.getRole());
                      keyPersonDataType.setCompensation(getCompensation(keyPerson));
                      keyPersonDataTypeArray[keyPersonCount] = keyPersonDataType;
                      keyPersonCount++;
                      LOG.info("keyPersonCount:" + keyPersonCount);
                  }
                  keyPersons.setKeyPersonArray(keyPersonDataTypeArray);
              }
              SummaryDataType summary = SummaryDataType.Factory.newInstance();
              if (periodInfo.getTotalFundsKeyPersons() != null) {
                  summary.setFederalSummary(periodInfo.getTotalFundsKeyPersons().bigDecimalValue());
              }
              if (periodInfo.getTotalNonFundsKeyPersons() != null) {
                  summary.setNonFederalSummary(periodInfo.getTotalNonFundsKeyPersons().bigDecimalValue());
                  if (periodInfo.getTotalFundsKeyPersons() != null) {
                      summary.setTotalFedNonFedSummary(periodInfo.getTotalFundsKeyPersons().add(
                              periodInfo.getTotalNonFundsKeyPersons()).bigDecimalValue());
                  }
                  else {
                      summary.setTotalFedNonFedSummary(periodInfo.getTotalNonFundsKeyPersons().bigDecimalValue());
                  }
              }
              keyPersons.setTotalFundForKeyPersons(summary);
              SummaryDataType summaryAttachedKey = SummaryDataType.Factory.newInstance();
              if (periodInfo.getKeyPersons() != null && periodInfo.getKeyPersons().size() > 0) {
                  if (periodInfo.getKeyPersons().get(0).getFundsRequested() != null) {
                      summaryAttachedKey.setFederalSummary(periodInfo.getKeyPersons().get(0).getFundsRequested().bigDecimalValue());
                  }
                  if (periodInfo.getKeyPersons().get(0).getNonFundsRequested() != null) {
                      summaryAttachedKey.setNonFederalSummary(periodInfo.getKeyPersons().get(0).getNonFundsRequested()
                              .bigDecimalValue());
                      if (periodInfo.getKeyPersons().get(0).getFundsRequested() != null) {
                          summaryAttachedKey.setTotalFedNonFedSummary(periodInfo.getKeyPersons().get(0).getFundsRequested().add(
                                  periodInfo.getKeyPersons().get(0).getNonFundsRequested()).bigDecimalValue());
                      }
                      else {
                          summaryAttachedKey.setTotalFedNonFedSummary(periodInfo.getKeyPersons().get(0).getNonFundsRequested()
                                  .bigDecimalValue());
                      }
                  }
              }
              keyPersons.setTotalFundForAttachedKeyPersons(summaryAttachedKey);
          }
          AttachedFileDataType attachedFileDataType = null;
          for (NarrativeContract narrative : pdDoc.getDevelopmentProposal().getNarratives()) {
              if (narrative.getNarrativeType().getCode() != null
                      && Integer.parseInt(narrative.getNarrativeType().getCode()) == ADDITIONAL_KEYPERSONS_ATTACHMENT) {
              	attachedFileDataType = getAttachedFileType(narrative);
              	if(attachedFileDataType != null){
              		keyPersons.setAttachedKeyPersons(attachedFileDataType);
              		break;
              	}
              }
          }
          return keyPersons;
      }