private static DocumentNode GetTemplateNode(SceneNode newElement, DocumentCompositeNode styleNode, out StyleNode styleElement) { DocumentCompositeNode documentCompositeNode1 = styleNode.Properties[DictionaryEntryNode.ValueProperty] as DocumentCompositeNode; SceneViewModel viewModel = newElement.ViewModel.GetViewModel(documentCompositeNode1.DocumentRoot, false); if (viewModel == null) { styleElement = (StyleNode)null; return((DocumentNode)null); } styleElement = viewModel.GetSceneNode((DocumentNode)documentCompositeNode1) as StyleNode; DependencyPropertyReferenceStep propertyReferenceStep = (DependencyPropertyReferenceStep)newElement.ViewModel.ProjectContext.ResolveProperty(ControlElement.TemplateProperty); if (documentCompositeNode1 != null) { DocumentCompositeNode documentCompositeNode2 = documentCompositeNode1.Properties[StyleNode.SettersProperty] as DocumentCompositeNode; if (documentCompositeNode2 != null) { foreach (DocumentNode documentNode1 in (IEnumerable <DocumentNode>)documentCompositeNode2.Children) { DocumentCompositeNode documentCompositeNode3 = documentNode1 as DocumentCompositeNode; if (documentCompositeNode3 != null) { IMemberId memberId = (IMemberId)DocumentPrimitiveNode.GetValueAsMember(documentCompositeNode3.Properties[SetterSceneNode.PropertyProperty]); DocumentNode documentNode2 = documentCompositeNode3.Properties[SetterSceneNode.ValueProperty]; if (memberId != null && documentNode2 != null && propertyReferenceStep.Equals((object)memberId)) { return(documentNode2); } } } } } return((DocumentNode)null); }