IoBuffer no action performed

Olá galera…tenho um evento desta forma :

[quote] public void actionPerformed(ActionEvent e) {
Decoder decoder = new Decoder();
//IoBuffer io = new
ProtocolDecoderOutput out = new ProtocolDecoderOutput() {

				private final List<Object> childProducts = new ArrayList<Object>();

				public void write(Object message) {
					childProducts.add(message);
				}

				public void flush(NextFilter nextFilter, IoSession session) {

				}
			};[/quote]

Aonde estou passando o IoBuffer, quero recuperar o valor do IoBuffer…tenho a seguinte classe :

[quote]public class SimpleBufferAllocator implements IoBufferAllocator {

public IoBuffer allocate(int capacity, boolean direct) {
    return wrap(allocateNioBuffer(capacity, direct));
}

public ByteBuffer allocateNioBuffer(int capacity, boolean direct) {
    ByteBuffer nioBuffer;
    if (direct) {
        nioBuffer = ByteBuffer.allocateDirect(capacity);
    } else {
        nioBuffer = ByteBuffer.allocate(capacity);
    }
    return nioBuffer;
}

public IoBuffer wrap(ByteBuffer nioBuffer) {
    return new SimpleBuffer(nioBuffer);
}

public void dispose() {
    // Do nothing
}

private class SimpleBuffer extends AbstractIoBuffer {
    private ByteBuffer buf;

    protected SimpleBuffer(ByteBuffer buf) {
        super(SimpleBufferAllocator.this, buf.capacity());
        this.buf = buf;
        buf.order(ByteOrder.BIG_ENDIAN);
    }

    protected SimpleBuffer(SimpleBuffer parent, ByteBuffer buf) {
        super(parent);
        this.buf = buf;
    }

    @Override
    public ByteBuffer buf() {
        return buf;
    }
    
    @Override
    protected void buf(ByteBuffer buf) {
        this.buf = buf;
    }

    @Override
    protected IoBuffer duplicate0() {
        return new SimpleBuffer(this, this.buf.duplicate());
    }

    @Override
    protected IoBuffer slice0() {
        return new SimpleBuffer(this, this.buf.slice());
    }

    @Override
    protected IoBuffer asReadOnlyBuffer0() {
        return new SimpleBuffer(this, this.buf.asReadOnlyBuffer());
    }

    @Override
    public byte[] array() {
        return buf.array();
    }

    @Override
    public int arrayOffset() {
        return buf.arrayOffset();
    }

    @Override
    public boolean hasArray() {
        return buf.hasArray();
    }

    @Override
    public void free() {
        // Do nothing
    }
}

}[/quote]

Por favor, me ajudem, estou perdido!!! :roll: :shock:

abraços!!