public static byte[] encode ( List<AvPair> pairs ) {
        int size = 0;
        for ( AvPair p : pairs ) {
            size += 4 + p.getRaw().length;
        }
        size += 4;

        byte[] enc = new byte[size];
        int pos = 0;
        for ( AvPair p : pairs ) {
            byte[] raw = p.getRaw();
            SMBUtil.writeInt2(p.getType(), enc, pos);
            SMBUtil.writeInt2(raw.length, enc, pos + 2);
            System.arraycopy(raw, 0, enc, pos + 4, raw.length);
            pos += 4 + raw.length;
        }

        // MsvAvEOL
        SMBUtil.writeInt2(AvPair.MsvAvEOL, enc, pos);
        SMBUtil.writeInt2(0, enc, pos + 2);
        pos += 4;
        return enc;
    }
public static byte [ ] encode ( List < AvPair > pairs ) { int size = 0 ; for ( AvPair p : pairs ) { size += 4 + p . getRaw ( ) . length ; } size += 4 ; byte [ ] enc = new byte [ size ] ; int pos = 0 ; for ( AvPair p : pairs ) { byte [ ] raw = p . getRaw ( ) ; SMBUtil . writeInt2 ( p . getType ( ) , enc , pos ) ; SMBUtil . writeInt2 ( raw . length , enc , pos + 2 ) ; System . arraycopy ( raw , 0 , enc , pos + 4 , raw . length ) ; pos += 4 + raw . length ; } SMBUtil . writeInt2 ( AvPair . MsvAvEOL , enc , pos ) ; SMBUtil . writeInt2 ( 0 , enc , pos + 2 ) ; pos += 4 ; return enc ; }
@param pairs
@return encoded avpairs