private function _applyParameterSources(\Gems_Menu_ParameterCollector $source, array &$parameters, $raiseConditions)
    {
        // \Gems_Menu::$verbose = true;
        // \MUtil_Echo::r($this->get('label'));
        $condition = true;

        if ($this->_applyParameterFilter($source, $raiseConditions, $condition)) {
            return false;
        }
        $this->_applyParameterSource($source, $parameters);

        // Test required parameters
        foreach ($this->_requiredParameters as $param => $name) {
            if (! isset($parameters[$param])) {
                if (\Gems_Menu::$verbose) {
                    // \MUtil_Echo::backtrace();
                    \MUtil_Echo::r('<b>Not found:</b> ' . $param . '/' . $name, $this->get('label') . ' (' . $this->get('controller') . '/' . $this->get('action') . ')');
                }
                return false;
            }
        }

        if ($this->_hiddenOrgId && $raiseConditions) {
            // Remove org paramter that should remain hidden when conditions have been raised.
            if (isset($parameters[\MUtil_Model::REQUEST_ID1], $parameters[\MUtil_Model::REQUEST_ID2]) &&
                    ($parameters[\MUtil_Model::REQUEST_ID2] == $this->_hiddenOrgId)) {
                $parameters[\MUtil_Model::REQUEST_ID] = $parameters[\MUtil_Model::REQUEST_ID1];
                unset($parameters[\MUtil_Model::REQUEST_ID1], $parameters[\MUtil_Model::REQUEST_ID2]);
            }
        }

        return $condition;
    }