public ResultFunction GetResultFunction()
        {
            switch (Selection)
            {
            case SearchDemos.EightPuzzle:
                return(EightPuzzleFunctionFactory.getResultFunction());

            case SearchDemos.NQueen:
                return(NQueensFunctionFactory.getResultFunction());

            default:
                break;
            }
            return(null);
        }
        public ActionsFunction GetActionsFunction()
        {
            switch (Selection)
            {
            case SearchDemos.EightPuzzle:
                return(EightPuzzleFunctionFactory.getActionsFunction());

            case SearchDemos.NQueen:
                switch (NQueensActions)
                {
                case NQueensActions.CompleteState:
                    return(NQueensFunctionFactory.getIActionsFunction());

                case NQueensActions.Incremental:
                    return(NQueensFunctionFactory.getIActionsFunction());
                }
                break;

            default:
                return(null);
            }
            return(null);
        }