docs: private BudgetYear1DataType getBudgetYear1DataType(BudgetPeriodDto periodInfo) {
  
          BudgetYear1DataType budgetYear = BudgetYear1DataType.Factory.newInstance();
          if (periodInfo != null) {
              budgetYear.setBudgetPeriodStartDate(s2SDateTimeService.convertDateToCalendar(periodInfo.getStartDate()));
              budgetYear.setBudgetPeriodEndDate(s2SDateTimeService.convertDateToCalendar(periodInfo.getEndDate()));
              BudgetPeriod.Enum budgetPeriod = BudgetPeriod.Enum.forInt(periodInfo.getBudgetPeriod());
              budgetYear.setBudgetPeriod(budgetPeriod);
              budgetYear.setKeyPersons(getKeyPersons(periodInfo));
              budgetYear.setOtherPersonnel(getOtherPersonnel(periodInfo));
              SummaryDataType summary = SummaryDataType.Factory.newInstance();
              if (periodInfo.getTotalCompensation() != null) {
                  summary.setFederalSummary(periodInfo.getTotalCompensation().bigDecimalValue());
              }
              if (periodInfo.getTotalCompensationCostSharing() != null) {
                  summary.setNonFederalSummary(periodInfo.getTotalCompensationCostSharing().bigDecimalValue());
                  if (periodInfo.getTotalCompensation() != null) {
                      summary.setTotalFedNonFedSummary(periodInfo.getTotalCompensation().add(
                              periodInfo.getTotalCompensationCostSharing()).bigDecimalValue());
                  }
                  else {
                      summary.setTotalFedNonFedSummary(periodInfo.getTotalCompensationCostSharing().bigDecimalValue());
                  }
              }
              budgetYear.setTotalCompensation(summary);
              budgetYear.setEquipment(getEquipment(periodInfo));
              budgetYear.setTravel(getTravel(periodInfo));
              budgetYear.setParticipantTraineeSupportCosts(getParticipantTraineeSupportCosts(periodInfo));
              budgetYear.setOtherDirectCosts(getOtherDirectCosts(periodInfo));
              SummaryDataType summaryDirect = SummaryDataType.Factory.newInstance();
              if (periodInfo.getDirectCostsTotal() != null) {
                  summaryDirect.setFederalSummary(periodInfo.getDirectCostsTotal().bigDecimalValue());
              }
              if (periodInfo.getTotalDirectCostSharing() != null) {
                  summaryDirect.setNonFederalSummary(periodInfo.getTotalDirectCostSharing().bigDecimalValue());
                  if (periodInfo.getDirectCostsTotal() != null) {
                      summaryDirect.setTotalFedNonFedSummary(periodInfo.getDirectCostsTotal().add(
                              periodInfo.getTotalDirectCostSharing()).bigDecimalValue());
                  }
                  else {
                      summaryDirect.setTotalFedNonFedSummary(periodInfo.getTotalDirectCostSharing().bigDecimalValue());
                  }
              }
              budgetYear.setDirectCosts(summaryDirect);
              budgetYear.setIndirectCosts(getIndirectCosts(periodInfo));
              budgetYear.setCognizantFederalAgency(periodInfo.getCognizantFedAgency());
              SummaryDataType summaryTotal = SummaryDataType.Factory.newInstance();
              if (periodInfo.getTotalCosts() != null) {
                  summaryTotal.setFederalSummary(periodInfo.getTotalCosts().bigDecimalValue());
              }
              if (periodInfo.getCostSharingAmount() != null) {
                  summaryTotal.setNonFederalSummary(periodInfo.getCostSharingAmount().bigDecimalValue());
                  if (periodInfo.getTotalCosts() != null) {
                      summaryTotal.setTotalFedNonFedSummary(periodInfo.getTotalCosts().add(periodInfo.getCostSharingAmount())
                              .bigDecimalValue());
                  }
                  else {
                      summaryTotal.setTotalFedNonFedSummary(periodInfo.getCostSharingAmount().bigDecimalValue());
                  }
              }
              budgetYear.setTotalCosts(summaryTotal);
          }
          AttachedFileDataType attachedFileDataType = null;
          for (NarrativeContract narrative : pdDoc.getDevelopmentProposal().getNarratives()) {
              if (narrative.getNarrativeType().getCode() != null
                      && Integer.parseInt(narrative.getNarrativeType().getCode()) == BUDGET_JUSTIFICATION_ATTACHMENT) {
              	attachedFileDataType = getAttachedFileType(narrative);
              	if(attachedFileDataType != null){
              		budgetYear.setBudgetJustificationAttachment(attachedFileDataType);
              		break;
              	}
              }
          }
          return budgetYear;
      }