code: public void checkIfSuccessOrWaitOrThrow() throws NoResponseException, E, InterruptedException, SmackWrappedException {
          checkIfSuccessOrWait();
          if (state == State.Failure) {
              throwException();
          }
      }
docs: Check if this synchronization point is successful or wait the connections reply timeout.
  @throws NoResponseException if there was no response marking the synchronization point as success or failed.
  @throws E if there was a failure
  @throws InterruptedException if the connection is interrupted.
  @throws SmackWrappedException in case of a wrapped exception;