class AbstractClientConnection {

    final void poison(final RequestException cause) {
        final List<ConnectionEntry> entries;

        lock.lock();
        try {
            entries = lockedPoison(cause);
        } finally {
            lock.unlock();
        }

        poison(entries, cause);
    }

    private  AbstractClientConnection(final AbstractClientConnection<T> oldConn, final TransmitQueue newQueue,
            final String backendName);
      AbstractClientConnection(final ClientActorContext context, final Long cookie, final String backendName,
            final int queueDepth);
      AbstractClientConnection(final AbstractClientConnection<T> oldConn);
      AbstractClientConnection(final AbstractClientConnection<T> oldConn, final T newBackend,
            final int queueDepth);

}