/// <exception cref="System.IO.IOException"/> public virtual void ReadFields(DataInput @in) { lock (this) { displayName = StringInterner.WeakIntern(Text.ReadString(@in)); counters.Clear(); int size = WritableUtils.ReadVInt(@in); for (int i = 0; i < size; i++) { T counter = NewCounter(); counter.ReadFields(@in); counters[counter.GetName()] = counter; limits.IncrCounters(); } } }