code: private static Expression checkReservedWords(final String word) throws FrameworkException {
  
  		if (word == null) {
  			return new NullExpression();
  		}
  
  		switch (word) {
  
  			case "cache":
  				return new CacheExpression();
  
  			case "true":
  				return new ConstantExpression(true);
  
  			case "false":
  				return new ConstantExpression(false);
  
  			case "if":
  				return new IfExpression();
  
  			case "is":
  				return new IsExpression();
  
  			case "each":
  				return new EachExpression();
  
  			case "filter":
  				return new FilterExpression();
  
  			case "slice":
  				return new SliceExpression();
  
  			case "batch":
  				return new BatchExpression();
  
  			case "data":
  				return new ValueExpression("data");
  
  			case "any":
  				return new AnyExpression();
  
  			case "all":
  				return new AllExpression();
  
  			case "none":
  				return new NoneExpression();
  
  			case "null":
  				return new ConstantExpression(null);
  
  		}
  
  		// no match, try functions
  		final Function<Object, Object> function = Functions.get(word);
  		if (function != null) {
  
  			return new FunctionExpression(word, function);
  
  		} else {
  
  			return new ValueExpression(word);
  		}
  	}
docs: ----- private methods -----