code: func (actor Actor) GetGeneratedRoute(manifestApp manifest.Application, orgGUID string, spaceGUID string, knownRoutes []v2action.Route) (v2action.Route, Warnings, error) {
  	desiredDomain, warnings, err := actor.calculateDomain(manifestApp, orgGUID)
  	if err != nil {
  		return v2action.Route{}, warnings, err
  	}
  
  	desiredHostname, err := actor.calculateHostname(manifestApp, desiredDomain)
  	if err != nil {
  		return v2action.Route{}, warnings, err
  	}
  
  	desiredPath, err := actor.calculatePath(manifestApp, desiredDomain)
  	if err != nil {
  		return v2action.Route{}, warnings, err
  	}
  
  	defaultRoute := v2action.Route{
  		Domain:    desiredDomain,
  		Host:      desiredHostname,
  		SpaceGUID: spaceGUID,
  		Path:      desiredPath,
  	}
  
  	// when the default desired domain is a TCP domain, always return a
  	// new/random route
  	if desiredDomain.IsTCP() {
  		return defaultRoute, warnings, nil
  	}
  
  	cachedRoute, found := actor.routeInListBySettings(defaultRoute, knownRoutes)
  	if !found {
  		route, routeWarnings, err := actor.V2Actor.FindRouteBoundToSpaceWithSettings(defaultRoute)
  		if _, ok := err.(actionerror.RouteNotFoundError); ok {
  			return defaultRoute, append(warnings, routeWarnings...), nil
  		}
  		return route, append(warnings, routeWarnings...), err
  	}
  	return cachedRoute, warnings, nil
  }
docs: // GetGeneratedRoute returns a route with the host and the default org domain.
  // This may be a partial route (ie no GUID) if the route does not exist.