private void AddTo(TreeViewItem item, ComponentType type) { var child = new ComponentElement(type, ids++, 1); if (Objects.TryGetValue(type, out var obj) && obj != null) { if (!type.IsZeroSized) { foreach (var fieldInfo in obj.GetType().GetFields()) { var field = new FieldElement(ids++, 2, fieldInfo, ref obj); child.AddChild(field); } } } item.AddChild(child); }