in Forge.TreeWalker/src/ActionContext.cs [90:123]
public ActionContext(
Guid sessionId,
string treeNodeKey,
string treeActionKey,
string actionName,
object actionInput,
object properties,
object userContext,
CancellationToken token,
IForgeDictionary forgeState,
string treeName,
Guid rootSessionId)
{
if (sessionId == null) throw new ArgumentNullException("sessionId");
if (string.IsNullOrWhiteSpace(treeNodeKey)) throw new ArgumentNullException("treeNodeKey");
if (string.IsNullOrWhiteSpace(actionName)) throw new ArgumentNullException("actionName");
if (userContext == null) throw new ArgumentNullException("userContext");
if (token == null) throw new ArgumentNullException("token");
if (forgeState == null) throw new ArgumentNullException("forgeState");
if (string.IsNullOrWhiteSpace(treeName)) throw new ArgumentNullException("treeName");
if (rootSessionId == null) throw new ArgumentNullException("rootSessionId");
this.SessionId = sessionId;
this.TreeNodeKey = treeNodeKey;
this.TreeActionKey = treeActionKey;
this.ActionName = actionName;
this.ActionInput = actionInput;
this.Properties = properties;
this.UserContext = userContext;
this.Token = token;
this.forgeState = forgeState;
this.TreeName = treeName;
this.RootSessionId = rootSessionId;
}