code: public AbstractBody getBody() throws InterruptedException, BOSHException {
          if (toThrow != null) {
              throw(toThrow);
          }
          lock.lock();
          try {
              if (!sent) {
                  awaitResponse();
              }
          } finally {
              lock.unlock();
          }
          return body;
      }
docs: Wait for and then return the response body.
  
  @return body of the response
  @throws InterruptedException if interrupted while awaiting the response
  @throws BOSHException on communication failure