}
  boolean needsCONUS (Task task) {    if (glmAssetHelper.isPassenger(task.getDirectObject()))      return false;    boolean inCONUS = startsInCONUS (task);    if (!inCONUS) {      if (isDebugEnabled()) {	GeolocLocation sourceGeoloc = 	  (GeolocLocation) glmPrepHelper.getIndirectObject(task, Constants.Preposition.FROM); 	debug(".needsCONUS - no CONUS move needed, since from " + sourceGeoloc + 	      " is not in CONUS.");      }      return false;    }    GeolocLocation sourceGeoloc =       (GeolocLocation) glmPrepHelper.getIndirectObject(task, Constants.Preposition.FROM);     String geoloc = sourceGeoloc.getGeolocCode();    //    Object airport = geolocToAirport.get (geoloc);    Object airport = locator.getAssetAtGeolocCode (geoloc);	    if (isDebugEnabled()) {      if (airport == null)	debug(".needsCONUS - CONUS move needed, since from <" + geoloc + 	      "> is not a " + type () + " among these " + type () + "s : " + locator.knownGeolocCodes ());      else	debug(".needsCONUS - no CONUS move needed, since from " + sourceGeoloc + 	      " is a " + type () + " (" + airport + ").");    }    // if the source is not an airbase, add a conus ground move leg to the airbase    return (airport == null);  }