public override object this[int index] { get { lock (m_SyncRoot) { return m_InnerList[index]; } } set { lock (m_SyncRoot) { m_InnerList[index] = value; } } }