int d=0;
	private double sum(VTDNav vn){	    if (argCount() != 1 || argumentList.e.isNodeSet() == false)	        throw new IllegalArgumentException("sum()'s argument count is invalid");    	vn.push2();    	try {    	    a = 0;    	    int i1;    	    while ((a =argumentList.e.evalNodeSet(vn)) != -1) {    	        int t = vn.getTokenType(a);                if (t == VTDNav.TOKEN_STARTING_TAG){                    i1 = vn.getText();                    if (i1!=-1)                        d += vn.parseDouble(i1);                    if (Double.isNaN(d))                        break;                }                else if (t == VTDNav.TOKEN_ATTR_NAME                        || t == VTDNav.TOKEN_ATTR_NS){                    d += vn.parseDouble(a+1);                    if (Double.isNaN(d))                        break;                }                else if (t == VTDNav.TOKEN_CHARACTER_DATA                        || t == VTDNav.TOKEN_CDATA_VAL){                    d += vn.parseDouble(a);                    if (Double.isNaN(d))                        break;                }                //    fib1.append(i);    	    }    	    argumentList.e.reset(vn);    	    vn.pop2();    	    return d;    	} catch (Exception e) {    	    argumentList.e.reset(vn);    	    vn.pop2();    	    return Double.NaN;    	}	    	}