/// <summary> /// Gets value from chain. /// </summary> /// <param name="id">identifier of queried value</param> /// <returns>the value</returns> public T Get(uint id) { T t = SafeGet(_second, id); if (!EqualityComparer <T> .Default.Equals(t, default(T))) { _first.Set(id, t); } return(t); }