private double getFreeSpaceInOutsideVehicleAcceptor(VehicleAcceptor va) {
	  		
	  		
	  		try {
		  		//if va is null, return 0
		  		if (va == null) {
		  			return 0;
		  		}
		  		
	  			List<Vehicle> cars = va.getCars();
	  			
	  			//the va has cars, return the last backPos
	  			return cars.get(cars.size()).getBackPosition();
	  		} catch(IndexOutOfBoundsException e) {
	  			//no cars were found, recursively call the function with the next road segment
	  			return va.getLength() + getFreeSpaceInOutsideVehicleAcceptor(va.getNextSeg(this));	
	  		}
	  	}