':param path: string
:param mode: string
:param type: string
:param content: string
:param sha: string'

def __init__(self, path, mode, type, content=github.GithubObject.NotSet, sha=github.GithubObject.NotSet):

    assert isinstance(path, (str, unicode)), path
    assert isinstance(mode, (str, unicode)), mode
    assert isinstance(type, (str, unicode)), type
    assert ((content is github.GithubObject.NotSet) or isinstance(content, (str, unicode))), content
    assert ((sha is github.GithubObject.NotSet) or isinstance(sha, (str, unicode))), sha
    self.__path = path
    self.__mode = mode
    self.__type = type
    self.__content = content
    self.__sha = sha
