def __new__(cls, repo, sha, refspec):
        if cls != Branch:
            return object.__new__(cls)

        # This is a local branch, see if it is a tracking branch or a local branch
        if refspec.startswith('refs/heads/'):
            remote = repo.configs.get('branch.%s.remote' % '/'.join(refspec.split('/')[2:]), '.')
            remote = remote != '.' and remote or None
            if remote is None:
                cls = LocalBranch
            else:
                cls = TrackingBranch
        # This is a remote branch, see if it is a tracked branch or a published branch
        else:
            if repo.branch_parents.keys() in refspec:
                cls = TrackedBranch
            else:
                cls = PublishedBranch
        return object.__new__(cls)
dataset/ETHPy150Open nowells/git-goggles/gitgoggles/git.py/Branch.__new__/swapped operands of `in`