public static int isBalanced(Bus bus) {
		ArrayList<Bus> buses = separateByRoute(bus.getRoute());
				
		int index = buses.indexOf(bus);
		
		if((index != -1 && index < (buses.size() - 1)))
		{
			Bus nextBus = null;
			for (int i = index; i < buses.size() - 1; i++) {
				if(buses.get(++i).getState())
				{
					nextBus = buses.get(i); 
					break;
				}
			}
			
			if(nextBus != null)
			{
				if((nextBus.getPosition() - bus.getPosition()) > IDEAL_DISTANCE + TOLERANCE_IDEAL_DISTANCE)
				{
					return 1;
				}else
				{
					if((nextBus.getPosition() - bus.getPosition()) < IDEAL_DISTANCE - TOLERANCE_IDEAL_DISTANCE)
					{
						if((nextBus.getPosition() - bus.getPosition()) < MIN_DISTANCE) {
							return -2;
						}
						
						return -1;
					}else
					{
						return 0;
					}
				}
			}
		}
		
		return 2;
	}