code: public static Timeout max(Timeout... timeouts)
  	{
  		Timeout max = null;
  
  		for (Timeout timeout : timeouts)
  		{
  			if (timeout != null)
  				if (max == null || max.getMilliseconds() < timeout.getMilliseconds())
  					max = timeout;
  		}
  
  		if (max != null)
  			return max;
  		else
  			throw new IllegalArgumentException("Must specify at least one non-null timeout!");
  	}
docs: Filter through a number of timeouts to find the one with the longest period
  
  @param timeouts
  a list of timeouts (nulls are ignored)
  
  @return the timeout with the longest period
  
  @throws IllegalArgumentException
  if no non-null timeouts are presented