protected void fillDecoded(URLItem[] raw, String encoding, boolean scriptProteced, boolean sameAsArray) throws UnsupportedEncodingException {
	clear();
	String name, value;
	// Object curr;
	for (int i = 0; i < raw.length; i++) {
	    name = raw[i].getName();
	    value = raw[i].getValue();
	    if (raw[i].isUrlEncoded()) {
		name = URLDecoder.decode(name, encoding, true);
		value = URLDecoder.decode(value, encoding, true);
	    }
	    // MUST valueStruct
	    if (name.indexOf('.') != -1) {

		StringList list = ListUtil.listToStringListRemoveEmpty(name, '.');
		if (list.size() > 0) {
		    Struct parent = this;
		    while (list.hasNextNext()) {
			parent = _fill(parent, list.next(), new CastableStruct(Struct.TYPE_LINKED), false, scriptProteced, sameAsArray);
		    }
		    _fill(parent, list.next(), value, true, scriptProteced, sameAsArray);
		}
	    }
	    // else
	    _fill(this, name, value, true, scriptProteced, sameAsArray);
	}
    }
protected void fillDecoded ( URLItem [ ] raw , String encoding , boolean scriptProteced , boolean sameAsArray ) throws UnsupportedEncodingException { clear ( ) ; String name , value ; for ( int i = 0 ; i < raw . length ; i ++ ) { name = raw [ i ] . getName ( ) ; value = raw [ i ] . getValue ( ) ; if ( raw [ i ] . isUrlEncoded ( ) ) { name = URLDecoder . decode ( name , encoding , true ) ; value = URLDecoder . decode ( value , encoding , true ) ; } if ( name . indexOf ( '.' ) != - 1 ) { StringList list = ListUtil . listToStringListRemoveEmpty ( name , '.' ) ; if ( list . size ( ) > 0 ) { Struct parent = this ; while ( list . hasNextNext ( ) ) { parent = _fill ( parent , list . next ( ) , new CastableStruct ( Struct . TYPE_LINKED ) , false , scriptProteced , sameAsArray ) ; } _fill ( parent , list . next ( ) , value , true , scriptProteced , sameAsArray ) ; } } _fill ( this , name , value , true , scriptProteced , sameAsArray ) ; } }
fill th data from given strut and decode it

@param raw
@param encoding
@throws UnsupportedEncodingException