if (e.isNumerical()) return e.evalNumber(vn);
	public double evalNumber(VTDNav vn) {		double d;		int a = -1;		vn.push2();		int size = vn.contextStack2.size;	        try {		  a =evalNodeSet(vn);		  if (a!=-1){		  	if (vn.getTokenType(a)== VTDNav.TOKEN_ATTR_NAME){			  a ++;		  	}else if (vn.getTokenType(a)== VTDNav.TOKEN_STARTING_TAG) {			  a = vn.getText();		  	}		  }			  		} catch (Exception e){					}		vn.contextStack2.size = size;		reset(vn);		vn.pop2();		try{			if (a!=-1) return vn.parseDouble(a);		}catch (NavException e){		}		return Double.NaN;	}