/// <summary> /// Checks if a node source is ready. /// </summary> /// <param name="node">The node for which the value is checked.</param> /// <param name="data">Optional data returned to the caller.</param> public override bool IsReady(TSource node, out object data) { data = null; bool Result = false; INodeWithResult EmbeddingNode = StartingPoint.GetStart(node) as INodeWithResult; if (EmbeddingNode != null) { OnceReference <TRef> Value = TemplateHelper.GetPropertyPathValue <INodeWithResult, OnceReference <TRef> >(EmbeddingNode, TemplateNodeStart <INodeWithResult> .Default, PropertyPath, out bool IsInterrupted); if (!IsInterrupted && Value.IsAssigned) { data = Value.Item; Result = true; } } else { Result = true; } return(Result); }