import org.xnio.XnioIoThread;
import org.xnio.XnioWorker;
import org.xnio.channels.StreamSinkChannel;
import org.xnio.channels.StreamSourceChannel;
import org.xnio.conduits.ConduitStreamSourceChannel;
<BUG>import io.undertow.UndertowLogger;</BUG>
import io.undertow.UndertowMessages;
<BUG>public abstract class DetachableStreamSourceChannel implements StreamSourceChannel {
protected final StreamSourceChannel delegate;</BUG>
protected ChannelListener.SimpleSetter<DetachableStreamSourceChannel> readSetter;

import org.xnio.XnioIoThread;
import org.xnio.XnioWorker;
import org.xnio.channels.StreamSinkChannel;
import org.xnio.channels.StreamSourceChannel;
import org.xnio.conduits.ConduitStreamSourceChannel;
import io.undertow.UndertowMessages;
public abstract class DetachableStreamSourceChannel implements StreamSourceChannel{
protected final StreamSourceChannel delegate;
protected ChannelListener.SimpleSetter<DetachableStreamSourceChannel> readSetter;
