public StoneStack SplitStack(int take) { var tempStack = new StoneStack(); for (int i = 0; i < take; i++) { tempStack.Push(Pop()); } var newStack = new StoneStack(); for (int i = 0; i < take; i++) { newStack.Push(tempStack.Pop()); } return(newStack); }