code: public static final void acquireMultiple(long timeout, CMutex mutex[])
  			throws RuntimeException {
  		Arrays.sort(mutex, new CMutexComparator());
  		for (int i = 0; i < mutex.length; i++) {
  			try {
  				mutex[i].acquire(timeout);
  			} catch (RuntimeException re) {
  				// release successfuly acquired mutex.
  				for (int j = i - 1; j >= 0; j--) {
  					if (mutex[j].isOwner()) {
  						mutex[j].release();
  					}
  				}
  				throw re;
  			}
  		}
  	}
docs: Acquires an array of mutex
  
  @param timeout
  maximum time to wait
  @param mutex
  the mutex array to acquire
  
  @throws RuntimeException
  if timeout is reached