code: def for_branch(self, branch):
          
          if self.org is None and branch is not None:
              raise InvalidKeyError(self.__class__, "Branches must have full library ids not just versions")
          return self.replace(branch=branch, version_guid=None)
docs: Return a new CourseLocator for another branch of the same library (also version agnostic)