public void Process <T>(T obj) { _currentNode = new AstNode(CreateProcessingContext <T>(), obj);//new AstNode(new AstDescriptor(TreeObjectsCounter), obj); if (!AllAstIndices.ContainsKey(obj)) { AllAstIndices.Add(obj, GetDescriptorForCurrent()); } AllAstObjects.Add(GetDescriptorForCurrent(), obj); AllNodes.Add(_currentNode); _currentDescriptor = _currentDescriptor.Increment(); }