docs: private int doRun(Map<String, Command> references) throws Exception
  	{
  		if (status == Command.CHILDREN_FILTERED)
  		{
  			if (isRoot())
  			{
  				result = new Argument(decoder);
  				// System.out.println("doRun(): result is decoder...");
  				return Command.COMMAND_EXECUTED;
  			}
  
  			if (isNull())
  			{
  				result = new Argument(null);
  				// System.out.println("doRun(): result is null...");
  				return Command.COMMAND_EXECUTED;
  			}
  
  			if (ctx != null && ctx.isArray() && (ctx.getResultValue() == null) && !isExecutable())
  			{
  				// System.out.println("doRun(): context is array...");
  				return status;
  			}
  
  			Object target = getTarget(references);
  			if (target == null)
  			{
  				// System.out.println("doRun(): target is null...");
  				return status;
  			}
  			// if (target instanceof Class) {
  			// System.out.println("doRun(): target = " +
  			// ((Class)target).getName());
  			// } else {
  			// System.out.println("doRun(): target = " +
  			// target.getClass().getName());
  			// }
  			if (isReference())
  			{
  				result = getReferencedArgument(references);
  				// System.out.println("doRun(): reference - result is " +
  				// result.getType());
  			}
  			else
  			{
  				String methodName = getMethodName(references);
  				// System.out.println("doRun(): methodName = " +
  				// methodName);
  				Argument[] arguments = getArguments();
  				if (arguments == null)
  				{
  					return status;
  				}
  				// for (Argument element : arguments) {
  				// if (element != null) {
  				// System.out.println("doRun(): arg [" + i + "] = "
  				// + arguments[i].getType());
  				// } else {
  				// System.out.println("doRun(): arg [" + i + "] =
  				// null");
  				// }
  				// }
  
  				Expression expr = new Expression(target, methodName, getArgumentsValues());
  				result = new Argument(expr.getValue());
  
  				if (isPrimitiveClassName(getTagName()))
  				{
  					result.setType(getPrimitiveClass(tagName));
  				}
  
  				// System.out.println("doRun(): method call - result is " +
  				// result.getType());
  			}
  			return Command.COMMAND_EXECUTED;
  		}
  		return status;
  	}