private void SetSequenceValue(int index, long tag, object value) { if (_Parent == null) { if (index == -1) { _Dataset.BeginEditSequence(_Tag).BeginEditItem(); } else { _Dataset.BeginEditSequence(_Tag).BeginEditItem(index); } _Dataset.InsertElementAndSetValue(tag, value); _Dataset.EndEditItem().EndEditSequence(); } else { List <Sequence> parents = new List <Sequence>(); try { AdvanceEditSequence(parents, index); _Dataset.InsertElementAndSetValue(tag, value); } catch (Exception e) { Logger.Global.SystemException(string.Empty, e); } finally { RestoreEditSequence(parents); } } }