public override object Clone() { Queue obj = this.queue; object result; lock (obj) { result = new Queue.SyncQueue((Queue)this.queue.Clone()); } return(result); }