protected virtual bool DeleteDisplayField(string key)
        {
            var existingDisplayField = FindDisplayField(key);

            if (existingDisplayField == null)
            {
                throw new ArgumentException($"DisplayField having key {key} not found.");
            }

            return(TelemetryDisplayFields.Remove(existingDisplayField));
        }
        protected virtual bool SaveDisplayField(IFieldDisplayInfo displayField)
        {
            var displayFieldsBuffer = TelemetryDisplayFields.ToList();

            displayFieldsBuffer.Add(displayField);

            if (!DisplayFieldsListIsValid(displayFieldsBuffer))
            {
                return(false);
            }

            DeleteDisplayField(displayField);

            TelemetryDisplayFields.Add(displayField);

            return(true);
        }
 protected virtual IList <IFieldDisplayInfo> GetDisplayFields()
 {
     return(TelemetryDisplayFields.ToList());
 }
 protected virtual IFieldDisplayInfo GetDisplayField(string name)
 {
     return(TelemetryDisplayFields.FirstOrDefault(f => f.Name == name));
 }