{
newDestination = uowf.currentUnitOfWork().get( Location.class, newDestinationString );
}
catch( NoSuchEntityException e )
{
throw new ChangeDestinationException( "Didn't recognize location '" + newDestinationString + "'" );
}
if( newDestination.equals( cargo.routeSpecification().get().destination().get() ) )
{
throw new ChangeDestinationException( "New destination is same as old destination." );
}
// Step 2 - Derive new route specification
newRouteSpec = new DeriveUpdatedRouteSpecification( cargo, newDestination ).getRouteSpec();