public object Clone()
        {
            TetrisPieceWithPosition clone = new TetrisPieceWithPosition {
                NextPiece = (TetrisPiece)NextPiece.Clone(),
                Piece     = (TetrisPiece)Piece.Clone(),
                Position  = (Coordinates)Position.Clone()
            };

            return(clone);
        }
 public void CopyFrom(TetrisPieceWithPosition other)
 {
     this.Piece = (TetrisPiece)other.Piece.Clone();
     this.Position.CopyFrom(other.Position);
 }