/** Populates the flight extra content */ @Override public void populate(final Object source, final ContentViewData target) { // REVISIT:Changed to BasePackage final BasePackage packageModel = packageCartService.getBasePackage(); final FlightExtraFacilityStore flightExtraStore = sessionService.getAttribute(SessionObjectKeys.FLIGHT_EXTRA_FACILITY_STORE); String flightMealCode = StringUtils.EMPTY; if (flightExtraStore != null) { String inventoryCode = StringUtils.EMPTY; final Map<String, List<ExtraFacility>> validExtraFacilitiesMap = flightExtraStore.getExtraFacilityFromAllLegsBasedOnCabinClass( packageModel.getId(), PackageUtilityService.getCabinClass(packageModel)); for (final List<ExtraFacility> eachEntry : validExtraFacilitiesMap.values()) { inventoryCode = eachEntry.get(0).getExtraFacilityCategory().getInventoryCode(); final String extraCode = eachEntry.get(0).getExtraFacilityCode(); final String corporateCode = eachEntry.get(0).getCorporateCode(); final List<DynamicContentConfigModel> dynamicContents = genericContentService.getDynamicContentConfig(inventoryCode, extraCode, corporateCode); getDynamicContents(target, dynamicContents); } if (StringUtils.equalsIgnoreCase(inventoryCode, "FM")) { flightMealCode = inventoryCode; } final Leg leg = getFlightLeg(packageModel); populateContentForShortHaul(target, leg); populateMealContent(flightMealCode, target); } }