@Override
  public void invalidate() {
    if (valid.compareAndSet(true, false)) {
      async.invalidate(this);
      try {
        httpSession.removeAttribute(HTTP_SESSION_KEY);
      } catch (IllegalStateException e) {
        // HttpSession already invalidated
      }

      CometServletResponseImpl prevResponse = response.getAndSet(null);
      if (prevResponse != null) {
        prevResponse.tryTerminate();
      }
    }
  }
 @Override
 public void enqueued() {
   ensureValid();
   async.enqueued(this);
 }
 @Override
 public void enqueue(Serializable message) {
   ensureValid();
   queue.add(message);
   async.enqueued(this);
 }