public UndoOperationGroup(Deque<IUndoableOperation> stack, int numops)
{
if (stack == null)
{
throw new ArgumentNullException("stack");
}
Debug.Assert(numops > 0, "UndoOperationGroup : numops should be > 0");
Debug.Assert(numops <= stack.Count);
undolist = new IUndoableOperation[numops];
for (var i = 0; i < numops; ++i)
{
undolist[i] = stack.PopBack();
}
}