public function validate()
    {
        $maxAge      = $this->maxAge;
        $authTime    = $this->authTime;
        $currentTime = $this->currentTime;

        // If no maximum authentication age is requested.
        if (empty($maxAge))
        {
            // No need to care about the maximum authentication age.
            return true;
        }

        if (PHP_INT_SIZE <= 4 ||
            is_integer($maxAge) === false || is_integer($authTime) === false)
        {
            // The variables may be strings.
            return $this->validateAsStrings($maxAge, $authTime, $currentTime);
        }
        else
        {
            return $this->validateAsIntegers($maxAge, $authTime, $currentTime);
        }
    }