}
@Override
public Object invoke(Object ignored, final Method method, final Object[] args) throws Throwable {
if (closed && method.getDeclaringClass().isAssignableFrom(Channel.class))
throw new AlreadyClosedException(delegate.getCloseReason());
Callable<Object> callable = new Callable<Object>() {
@Override
public Object call() throws Exception {
if (method.getDeclaringClass().isAssignableFrom(ChannelConfig.class))