private void testProgress(
      ResponseListener monitor,
      IPTestStub ipTest,
      boolean callMultiVersion,
      boolean callEmptyVersion,
      IPTestDefinition testDef)
      throws Exception {
    LoggingBase.logMessage("PatternTest.testProgress(" + callMultiVersion + ")");

    synchronized (monitor) {
      if (callMultiVersion) {
        ipTest.asyncProgressMulti(testDef, new UInteger(100), monitor);
      } else {
        if (callEmptyVersion) {
          ipTest.asyncTestProgressEmptyBody(testDef, monitor);
        } else {
          ipTest.asyncProgress(testDef, monitor);
        }
      }
    }
  }