public void Execute(App app, string  command, IDictionary<string,object > parameters) {
            if(null==app)throw new ArgumentNullException("app");
            if (command.noContent()) throw new ArgumentNullException("command");
            parameters = parameters ?? new Dictionary<string, object>();
			var commands = new BxlParser().Parse(app.Type.Commands.Trim());
            var xcmd = commands.XPathSelectElement("//command[@code='" + command + "']");
            if(null==xcmd)throw new Exception("cannot find command "+command+" on app "+app.Code);

        }