public ByteBuffer processOutgoing(ByteBuffer b) {
		if(b.remaining() > maxSizeContents)
			throw new IllegalArgumentException(id+"Cannot write out packets larger than size="
					+maxSizeContents+" actual size11="+b.remaining());
		ByteBuffer readOnlyTail = ByteBuffer.wrap(packetSeparator).asReadOnlyBuffer();
		
		ByteBuffer packet = ByteBuffer.allocate(b.remaining()+readOnlyTail.remaining()+4);
		int size = b.remaining();
		packet.putInt(size);
		packet.put(b);
		packet.put(readOnlyTail);
		HELPER.doneFillingBuffer(packet);
		
		return packet;
	}