public function listTopics(ListTopicsRequest $request)
    {
        $headers = array();
        $params  = array();
        if ($request->getToken() !== null) {
            $params ['token'] = $request->getToken();
        }
        if ($request->getLine() !== null) {
            $params ['line'] = $request->getLine();
        }
        $params ['type'] = 'topic';

        $project  = $request->getProject() ?: '';
        $logStore = $request->getLogStore() ?: '';

        $resource = "/logstores/$logStore";
        list ( $resp, $header ) = $this->send("GET", $project, null, $resource, $params, $headers);

        $requestId = isset ( $header ['x-log-requestid'] ) ? $header ['x-log-requestid'] : '';
        $resp      = $this->parseToJson($resp, $requestId);

        return new ListTopicsResponse ($resp, $header);
    }