public void LoadItems() { if (!NeedLoadContent) { return; } NeedLoadContent = false; Items.Clear(); var client = Context.Client; client.Send(new ClientMessage.GetObjectContent(Context.SolutionId, Context.ProjectId, Context.FileId, Context.FileVersion, _objectDescriptor.Id)); var content = client.Receive <ServerMessage.ObjectContent>(); if (content.content is ContentDescriptor.Fail) { NeedLoadContent = true; } _objectDescriptor.SetContent(content.content); if (_objectDescriptor.IsObject && _objectDescriptor.Properties != null) { Items.AddRange(ToProperties(_objectDescriptor.Properties)); } else if (_objectDescriptor.IsSeq && _objectDescriptor.Items != null && _objectDescriptor.Properties != null) { Items.AddRange(ToAstList(_objectDescriptor.Properties, _objectDescriptor.Items)); } else if (_objectDescriptor.IsSeq && _objectDescriptor.Items != null) { Items.AddRange(ToItems(_objectDescriptor.Items)); } }