s.substring((int)argumentList.next.e.evalNumber(vn)-1, (int) argumentList.next.next.e.evalNumber(vn)-1);
double d1 = Math.floor(argumentList.next.e.evalNumber(vn)+0.5d); double d2 = Math.floor(argumentList.next.next.e.evalNumber(vn)+0.5d); if (d1!=d1 || d2!=d2 || d1>s.length()) return ""; s.substring((int)d1-1,Math.min(s.length()-1, (int)d1-1+(int)d2));
	private String subString(VTDNav vn){	    if (argCount()== 2){	        String s = argumentList.e.evalString(vn);	        if (s != null){	            s.substring((int)argumentList.next.e.evalNumber(vn)-1);	        }	        return null;	    } else if (argCount() == 3){	        String s = argumentList.e.evalString(vn);	        if (s != null){	            s.substring((int)argumentList.next.e.evalNumber(vn)-1,	                    (int) argumentList.next.next.e.evalNumber(vn)-1);	        }	        return null;	    }	    throw new IllegalArgumentException		("substring()'s argument count is invalid");	}