protected function getUserChoice($listTitle, $selectMessage, $menuItems)
    {
        $menuOptions = new \ezcConsoleMenuDialogOptions(
            array(
                'text' => $listTitle,
                'selectText' => $selectMessage,
                'validator' => new DialogMenuValidator($menuItems)
            )
        );

        $menuDialog = new \ezcConsoleMenuDialog($this->output, $menuOptions);
        do {
            $menuDialog->display();
        } while ($menuDialog->hasValidResult() === false);

        return $menuDialog->getResult();
    }