code: @Override
  	public String decorate(String str) {
  		String[] objs = str.split("\\.");
  		StringBuilder result = new StringBuilder();
  		if (objs.length > 1) {
  			StringBuilder obj = new StringBuilder();
  			obj.append(objs[0]);
  			result.append("(").append(obj);
  			for (int i = 1; i < objs.length - 1; i++) {
  				result.append("&&");
  				obj.append(".").append(objs[i]);
  				result.append(obj);
  			}
  			result.append(")?").append(str).append(":null");
  		} else {
  			result.append(str);
  		}
  		return result.toString();
  	}
docs: Transform arg to valid key. protect js NPE <br>
  considers if arg or subfield is null <br>
  example : if arg == c return c <br>
  if arg == c.user return (c)?c.user:null <br>
  if arg == c.user.u_id return (c&amp;&amp;c.user)?c.user.u_id:null <br>
  
  @param str
  @return