public IList<DataValue> Publish() { DataValue[] values = new DataValue[m_values.Count]; for (int ii = 0; ii < values.Length; ii++) { values[ii] = m_values.Dequeue(); } return values; }