public void writeByteArray(byte[] x, boolean copy) {
		if (copy) {
			byte[] buffer = getBuffer(x.length);
			System.arraycopy(x, 0, buffer, index, x.length);
			this.index += x.length;
			return;
		}

		if (null == otherItem) {
			otherItem = new ArrayList<ByteArrayItem>();
		}

		allIndex += this.index;

		// 记录使用的
		item.setLimit(this.index);
		otherItem.add(item);

		// System.out.println("HH:index=" + this.index + ",allIndex=" + this.allIndex);

		// 伪装成ByteArrayItem
		// item = new ByteArrayItem(manager, x, this.index, false, -1);
		item = new ByteArrayItem(manager, x, this.allIndex, false, -1);
		// this.index += x.length;
		this.index = x.length;
	}
public void writeByteArray ( byte [ ] x , boolean copy ) { if ( copy ) { byte [ ] buffer = getBuffer ( x . length ) ; System . arraycopy ( x , 0 , buffer , index , x . length ) ; this . index += x . length ; return ; } if ( null == otherItem ) { otherItem = new ArrayList < ByteArrayItem > ( ) ; } allIndex += this . index ; item . setLimit ( this . index ) ; otherItem . add ( item ) ; item = new ByteArrayItem ( manager , x , this . allIndex , false , - 1 ) ; this . index = x . length ; }
boolean mark