public function getCheckedOutDocs(
        $repositoryId,
        $folderId,
        $filter = null,
        $orderBy = null,
        $includeAllowableActions = false,
        IncludeRelationships $includeRelationships = null,
        $renditionFilter = Constants::RENDITION_NONE,
        $maxItems = null,
        $skipCount = 0,
        ExtensionDataInterface $extension = null
    ) {
        $url = $this->getObjectUrl($repositoryId, $folderId, Constants::SELECTOR_CHECKEDOUT);
        $url->getQuery()->modify(
            [
                Constants::PARAM_ALLOWABLE_ACTIONS => $includeAllowableActions ? 'true' : 'false',
                Constants::PARAM_RENDITION_FILTER => $renditionFilter,
                Constants::PARAM_SKIP_COUNT => (string) $skipCount,
                Constants::PARAM_SUCCINCT => $this->getSuccinct() ? 'true' : 'false',
                Constants::PARAM_DATETIME_FORMAT => (string) $this->getDateTimeFormat()
            ]
        );

        if (!empty($filter)) {
            $url->getQuery()->modify([Constants::PARAM_FILTER => (string) $filter]);
        }

        if (!empty($orderBy)) {
            $url->getQuery()->modify([Constants::PARAM_ORDER_BY => $orderBy]);
        }

        if ($maxItems > 0) {
            $url->getQuery()->modify([Constants::PARAM_MAX_ITEMS => (string) $maxItems]);
        }

        if ($includeRelationships !== null) {
            $url->getQuery()->modify([Constants::PARAM_RELATIONSHIPS => (string) $includeRelationships]);
        }

        $responseData = (array) $this->readJson($url);

        // TODO Implement Cache
        return $this->getJsonConverter()->convertObjectList($responseData);
    }