/// <summary> /// Executes a method, after checking against the perms requested. Standard handler implementations require that the method be part of the contract. /// </summary> /// <param name="method">The method we're going to invoke on our real object</param> /// <param name="perms">The permissions to check against</param> /// <param name="args">The arguments to pass to the real object's method</param> /// <returns>the result of the real method's execution</returns> protected object Invoke(MethodInfo method, object[] args) => _handler.Invoke(this, method, args);