public function findFiles(
        string $filter = '',
        string $blacklistToken = '',
        string $whitelistToken = '',
        $targetBranch = ''
    ) : GitChangeSet {
        if (empty($targetBranch)) {
            throw new InvalidArgumentException(
                'Finding a diff makes no sense without a target branch.',
                1553857649
            );
        }

        $rawDiff = $this->findFilesInDiffToTarget($targetBranch);
        $this->fileFilter->filter($rawDiff, $filter, $blacklistToken, $whitelistToken);

        return $rawDiff;
    }