/// <summary> /// Helper for getting a FileOperationState object. /// </summary> private FileOperationState GetFileOperationState() { lock (pendingStates) { // recycle any states if we have some available if (pendingStates.Count > 0) { FileOperationState state = pendingStates.Dequeue(); state.Reset(); return(state); } return(new FileOperationState()); } }