public virtual T Pop() { lock (Padlock) { T result = default(T); if (basePipe != this) { result = (T)basePipe.PopObject(); } else { result = default(T); if (data.Count > 0) { result = data.First(); data.Remove(result); } } return(result); } }
public virtual T Pop() { return((T)basePipe.PopObject()); }