private		void	parseTerm(Object cl_o, NVObject cl_r, String str_term) {
		String	lstr_methodName[] = str_term.trim().split(" ");
		
		if(lstr_methodName.length == 0) {
			BTLog.error(this, "parseTerm", str_term + " cannot be split for spaces");
			return;
		} 
		
		BTLog.debug(this, "parseTerm", "split term for method name " + Arrays.toString(lstr_methodName));
		
		TermPart	lcl_p = getTermPart(cl_o, lstr_methodName[0]);
		
		if(lcl_p == null) {
			return;
		}
		
		Tuple2<String, Object>	lcl_out = new Tuple2<String, Object>("", null);
		Object		lcl_invR = lcl_p.invokeOnTerm();
		if(lcl_invR == null) {
			BTLog.debug(this, "parseTerm", "null for " + lcl_out.getV1());
			return;
		}
		
		if(lcl_invR instanceof NVBase) {
			lcl_out.v2 = lcl_invR;
		} else {
			lcl_out.v2 = lcl_invR.toString();
		}
		
		lcl_out.v1 = lcl_p.getName();
		
		if(lstr_methodName.length == 3) {
			if(lstr_methodName[1].indexOf("as") != -1) {
				lcl_out.v1 = lstr_methodName[2].trim();
			}
		}
		
		if(lcl_out.v2 instanceof String) {
			cl_r.with(lcl_out.v1, (String)lcl_out.v2);
		} else {
			cl_r.with(lcl_out.v1, (NVBase)lcl_out.v2);
		}
		
	}