public LegBean reverseLeg(LegV2Bean bean) { LegBean leg = new LegBean(); leg.setStartTime(bean.getStartTime()); leg.setEndTime(bean.getEndTime()); leg.setFrom(_factory.reversePoint(bean.getFrom())); leg.setTo(_factory.reversePoint(bean.getTo())); leg.setDistance(bean.getDistance()); if (_factory.isStringSet(bean.getMode())) leg.setMode(bean.getMode()); TransitLegV2Bean transitLegBean = bean.getTransitLeg(); if (transitLegBean != null) { TransitLegBean transitLeg = reverseTransitLeg(transitLegBean); leg.setTransitLeg(transitLeg); } List<StreetLegV2Bean> streetLegBeans = bean.getStreetLegs(); if (!CollectionsLibrary.isEmpty(streetLegBeans)) { List<StreetLegBean> streetLegs = new ArrayList<StreetLegBean>(); for (StreetLegV2Bean streetLegBean : streetLegBeans) { StreetLegBean streetLeg = reverseStreetLeg(streetLegBean); streetLegs.add(streetLeg); } leg.setStreetLegs(streetLegs); } return leg; }