public function searchSourceImages($search = [], $sorts = [], $limit = null, $offset = null, $organization = '')
    {
        $options = ['query' => []];

        $sort = SearchHelper::buildSearchSortParameter($sorts);
        if (!empty($sort)) {
            $options['query']['sort'] = $sort;
        }

        if (\is_array($search) && !empty($search)) {
            foreach ($search as $field => $value) {
                if (!SearchHelper::validateFieldName((string) $field)) {
                    throw new \LogicException(sprintf('Invalid field name "%s" as search field', $field));
                }

                $options['query'][$field] = $value;
            }
        }

        if (isset($limit)) {
            $options['query']['limit'] = $limit;
        }
        if (isset($offset)) {
            $options['query']['offset'] = $offset;
        }

        $contents = $this
          ->call('GET', self::SOURCEIMAGE_RESOURCE.'/'.$this->getOrganizationName($organization), $options)
          ->getBody()
          ->getContents();

        return SourceImageCollection::createFromJsonResponse($contents);
    }