public static void assembleMeal(Recipe breakfast, Date projectStart) { // ... check ingredients in stock // map from kitchen world, into project planning world Mapper mapper = new Mapper(); IFrontLoaderTO frontLoaderTO = mapper.mapFrom(breakfast); // do planning ProjectPlanningService.frontloadFrom(projectStart, frontLoaderTO.getActivities()); // merge results so we can display them mapper.mapBack(breakfast, frontLoaderTO); // ... create order // ... restock, etc }