@Override
 public int hashCode() {
   int result = cookies != null ? cookies.hashCode() : 0;
   result = 31 * result + (headers != null ? headers.hashCode() : 0);
   result = 31 * result + (asyncIOWriter != null ? asyncIOWriter.hashCode() : 0);
   result = 31 * result + status;
   result = 31 * result + (statusMessage != null ? statusMessage.hashCode() : 0);
   result = 31 * result + (charSet != null ? charSet.hashCode() : 0);
   result = 31 * result + (int) (contentLength ^ (contentLength >>> 32));
   result = 31 * result + (contentType != null ? contentType.hashCode() : 0);
   result = 31 * result + (isCommited ? 1 : 0);
   result = 31 * result + (locale != null ? locale.hashCode() : 0);
   result = 31 * result + (headerHandled ? 1 : 0);
   result = 31 * result + (atmosphereRequest != null ? atmosphereRequest.hashCode() : 0);
   result = 31 * result + (writeStatusAndHeader != null ? writeStatusAndHeader.hashCode() : 0);
   result = 31 * result + (delegateToNativeResponse ? 1 : 0);
   result = 31 * result + (destroyable ? 1 : 0);
   result = 31 * result + (response != null ? response.hashCode() : 0);
   return result;
 }