private static void ProcessParameter(IGraphBuilder builder, object parameterNode, object handlerInstance) { var subNodes = builder.GetSuccessors(parameterNode); Debug.Assert(subNodes != null && subNodes.Count() == 2); var nameNode = subNodes.First(); Debug.Assert(builder.IsNode(nameNode)); var nameValue = builder.GetSuccessors(nameNode).First().ToString(); var payloadNode = subNodes.Last(); var payloadValueNodes = builder.GetSuccessors(payloadNode); string payloadValue = null; if (payloadValueNodes.Count() == 1) { payloadValue = payloadValueNodes.First().ToString(); Debug.Assert(builder.IsNode(payloadNode)); } InvokeHandler(nameValue, payloadValue, handlerInstance); }