@Override
  public List<RouteCandidateDTO> requestPossibleRoutesForCargo(String trackingId)
      throws RemoteException {
    final List<Itinerary> itineraries =
        bookingService.requestPossibleRoutesForCargo(new TrackingId(trackingId));

    final List<RouteCandidateDTO> routeCandidates =
        new ArrayList<RouteCandidateDTO>(itineraries.size());
    final ItineraryCandidateDTOAssembler dtoAssembler = new ItineraryCandidateDTOAssembler();
    for (Itinerary itinerary : itineraries) {
      routeCandidates.add(dtoAssembler.toDTO(itinerary));
    }

    return routeCandidates;
  }