Inheritance: ISimpleDbItem, ISessionItem
 internal SessionSimpleDbAttribute(SessionSimpleDbItem item, string name, params string[] values)
 {
     _item = item;
     _name = name;
     _originalValue = new SimpleDbAttributeValue(values);
     _newValue = _originalValue;
 }
        internal SessionSimpleDbAttributeCollection(IInternalContext context, SessionSimpleDbItem item, XElement data, bool complete)
        {
            _item = item;
            _complete = complete;

            var result = new Dictionary<string, SessionSimpleDbAttribute>();

            try
            {
                var subResult = data.Descendants(sdbNs + "Attribute").Select(
                        x => new SessionSimpleDbAttribute(
                            _item,
                            x.Element(sdbNs + "Name").Value,
                            x.Elements(sdbNs + "Value").
                            Select(val => val.Value).ToArray()
                        )
                    );
                foreach (var resItem in subResult) {
                    if (!result.Keys.Contains(resItem.Name)) {
                        result.Add(resItem.Name, resItem);
                    }
                    else {
                        result[resItem.Name].Value = new SimpleDbAttributeValue(
                            result[resItem.Name].Value.Values.Concat(resItem.Value.Values).ToArray());
                    }
                }

                _attributes = result;
            }
            catch (Exception ex)
            {
                throw new SimpleDbException("The response from SimpleDB was not valid", ex);
            }
        }
        internal SessionSimpleDbAttributeCollection(IInternalContext context, SessionSimpleDbItem item, XElement data, bool complete)
        {
            _context = context;
            _item = item;
            _complete = complete;

            var result = new Dictionary<string, SessionSimpleDbAttribute>();

            try
            {
                AddAttributeData(data);
            }
            catch (Exception ex)
            {
                throw new SimpleDbException("The response from SimpleDB was not valid", ex);
            }
        }