public TrackingStatusDTO mapFrom(TrackingStatus trackingStatus) { TrackingStatusDTO dto = new TrackingStatusDTO(); dto.setTrackerId(trackingStatus.getTrackerId()); dto.setPackageId(trackingStatus.getPackageId()); dto.setTrackingNumber(trackingStatus.getTrackingNumber()); dto.setWeight(trackingStatus.getWeight()); dto.setEstimatedDeliveryDate(trackingStatus.getEstimatedDeliveryDate()); dto.setCarrier(trackingStatus.getCarrier()); dto.setUpdated(trackingStatus.getUpdated()); dto.setStatus(trackingStatus.getStatus()); dto.setCreated(trackingStatus.getCreated()); dto.setShippingMethod(trackingStatus.getShippingMethod()); if (hasHistory) { dto.setTrackingHistories( trackingStatus .getTrackingHistories() .stream() .map(TrackingHistoryDTO::new) .collect(toList())); } return dto; }