private VisualizationNodeData AddNodeCacheForNode(string id, string type) { string key = NodeDependencyLookupUtility.GetNodeKey(id, type); if (!_cachedVisualizationNodeDatas.ContainsKey(key)) { INodeHandler nodeHandler = GetNodeHandlerForType(type); ITypeHandler typeHandler = GetTypeHandlerForType(type); VisualizationNodeData data = typeHandler.CreateNodeCachedData(id); _nodeDependencyLookupContext.NodeHandlerLookup = GetNodeHandlerLookup(); if (_showThumbnails || DisplayData.ShowAdditionalInformation) { data.OwnSize = NodeDependencyLookupUtility.GetNodeSize(true, false, id, type, new HashSet <string>(), _nodeDependencyLookupContext, _cachedSizes); data.HierarchySize = NodeDependencyLookupUtility.GetNodeSize(true, true, id, type, new HashSet <string>(), _nodeDependencyLookupContext, _cachedSizes); } data.Id = id; data.Type = type; data.NodeHandler = nodeHandler; data.TypeHandler = typeHandler; data.Name = typeHandler.GetName(id); data.IsEditorAsset = nodeHandler.IsNodeEditorOnly(id, type); data.IsPackedToApp = NodeDependencyLookupUtility.IsNodePackedToApp(id, type, _nodeDependencyLookupContext, new HashSet <string>()); _cachedVisualizationNodeDatas.Add(key, data); } return(_cachedVisualizationNodeDatas[key]); }