def create_team(self, name, repo_names=github.GithubObject.NotSet, permission=github.GithubObject.NotSet, privacy=github.GithubObject.NotSet):
assert isinstance(name, (str, unicode)), name<EOL>assert repo_names is github.GithubObject.NotSet or all(isinstance(element, github.Repository.Repository) for element in repo_names), repo_names<EOL>assert permission is github.GithubObject.NotSet or isinstance(permission, (str, unicode)), permission<EOL>assert privacy is github.GithubObject.NotSet or isinstance(privacy, (str, unicode)), privacy<EOL>post_parameters = {<EOL>"<STR_LIT:name>": name,<EOL>}<EOL>if repo_names is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters["<STR_LIT>"] = [element._identity for element in repo_names]<EOL><DEDENT>if permission is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters["<STR_LIT>"] = permission<EOL><DEDENT>if privacy is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters['<STR_LIT>'] = privacy<EOL><DEDENT>headers, data = self._requester.requestJsonAndCheck(<EOL>"<STR_LIT:POST>",<EOL>self.url + "<STR_LIT>",<EOL>input=post_parameters<EOL>)<EOL>return github.Team.Team(self._requester, headers, data, completed=True)<EOL>
:calls: `POST /orgs/:org/teams <http://developer.github.com/v3/orgs/teams>`_
:param name: string
:param repo_names: list of :class:`github.Repository.Repository`
:param permission: string
:param privacy: string
:rtype: :class:`github.Team.Team`