code: public void satisfied (int condition)
      {
          // sanity check
          if (condition < 0 || condition >= _conditions.length) {
              throw new IllegalArgumentException(
                  "Invalid condition supplied: " + condition + ". " +
                  "Maximum is " + (_conditions.length-1) + ".");
          }
  
          // note that this condition was satisfied
          _conditions[condition] = true;
  
          // check to see if unsatisfied conditions remain
          for (int ii = 0; ii < _conditions.length; ii++) {
              if (!_conditions[ii]) {
                  return;
              }
          }
  
          // reset ourselves and fire the action
          reset();
          _action.run();
      }
docs: Indicates that the specified condition has been satisfied. If this
  condition is the last remaining condition, the multex will be reset
  and the action will be fired (in that order) before this method
  call returns.