long totalTimeTaken = results[0].getTestTime() + results[0].getInitTime() - results[1].getInitTime();
long totalTimeTaken = results[0].testTime + results[0].initTime - results[1].initTime;
   public void testTopic1()   {      log.info("Running test Topic1");            warmupDestination(topicName, standardMessageSize, false, DeliveryMode.NON_PERSISTENT, Session.AUTO_ACKNOWLEDGE);            SenderJob sender = createDefaultSenderJob(topicName);      sender.setNumMessages(numMessages);      sender.setMsgSize(standardMessageSize);      sender.setMf(new BytesMessageMessageFactory());      sender.setTransacted(false);      sender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);      sender.setInitialPause(initialPause); //enough time for receiver to get ready      sender.setSlaveURL(slaveURLs[0]);            ReceiverJob receiver = createDefaultReceiverJob(topicName);            receiver.setAckMode(Session.AUTO_ACKNOWLEDGE);      receiver.setTransacted(false);      receiver.setNumMessages(numMessages);      receiver.setSlaveURL(slaveURLs[1]);            JobTimings[] results = runJobs(new Job[] {receiver, sender});            /*       * NB.       * When we calculating the total time taken from first send to last receive, there is some       * error involved due to the differences in network latency and other remoting overhead       * when sending the jobs to be executed on potentially different remote machines.       * We make the assumption that this this difference is very small compared with time taken       * to run the tests as to be negligible.       */            long totalTimeTaken = results[0].getTestTime() + results[0].getInitTime() - results[1].getInitTime();                  Execution execution = createExecution("Topic1");            execution.addMeasurement(new Measurement("throughput", 1000 * (double)numMessages / totalTimeTaken));      pm.saveExecution(execution);            log.info("Test Topic1 finished");   }