public function authenticate()
    {
        $this->_authenticateSetup();

        $dbSelect   = $this->_authenticateCreateSelect();
        $identity   = $this->_authenticateQuerySelect($dbSelect);
        $authResult = $this->_authenticateValidateResultSet($identity);

        if ($authResult instanceof Zend_Auth_Result) {
            return $authResult;
        }

        /// _authenticateValidateResult() attempts to make certain that only
        /// one record was returned in the resultset.
        return $this->_authenticateValidateResult(array_shift($identity));
    }