public function value($name)
    {
        if (empty($this->requestOrder)) {
            throw new RuntimeException('Unable to determine the request order');
        }

        $result = null;

        foreach ($this->requestOrder as $token) {
            $method = $this->resolveRequestOrderMethod($token);

            if (empty($method)) {
                continue;
            }

            $result = $this->$method($name);

            if (!is_null($result)) {
                break;
            }
        }

        return $result;
    }