public void AddMarble(Marble marble) { if (CurrentMarble == null) { var added = Board.AddFirst(marble); SetCurrentMarble(marble, added); } else { if (CurrentMarble == Board.Last.Value) { var added = Board.AddAfter(Board.First, marble); SetCurrentMarble(marble, added); } else { //var currentMarbleNode = Board.Find(CurrentMarble); var added = Board.AddAfter(CurrentMarbleNode.Next, marble); SetCurrentMarble(marble, added); } } }