code: private Others getOthersForOtherDirectCosts(BudgetPeriodDto periodInfo) {
  
  		Others others = Others.Factory.newInstance();
  		if (periodInfo != null && periodInfo.getOtherDirectCosts() != null) {
  			Others.Other otherArray[] = new Others.Other[periodInfo
  					.getOtherDirectCosts().size()];
  			int Otherscount = 0;
  			for (OtherDirectCostInfoDto otherDirectCostInfo : periodInfo
  					.getOtherDirectCosts()) {
  				Others.Other other = Others.Other.Factory.newInstance();
  				if (otherDirectCostInfo.getOtherCosts() != null
  						&& otherDirectCostInfo.getOtherCosts().size() > 0) {
  					other
  							.setCost(new BigDecimal(otherDirectCostInfo
  									.getOtherCosts().get(0).get(
  											CostConstants.KEY_COST)));
  				}
  				other.setDescription(OTHERCOST_DESCRIPTION);
  				otherArray[Otherscount] = other;
  				Otherscount++;
  			}
  			others.setOtherArray(otherArray);
  		}
  		return others;
  	}
docs: This method is to get Other type description and total cost
  OtherDirectCosts details in BudgetYearDataType based on BudgetPeriodInfo
  for the RRBudget.
  
  @param periodInfo
  (BudgetPeriodInfo) budget period entry.
  @return Other others for other direct costs corresponding to the
  BudgetPeriodInfo object.