def createRole(self, name, description="", privileges=None):
        """Creates a new role.
        
        Args:
            name (str): The name of the new role.
            description (str): The description of the new role. Defaults to ``""``.
            privileges (str): A comma delimited list of privileges to apply to the new role.
                Defaults to ``None``.
        Returns:
            If ``privileges`` is ``None``, the result from :py:func:`arcrest.manageorg._portals.Portal.createRole`.
            
            If ``privileges`` were succesfully added, the result from :py:func:`arcrest.manageorg._portals.Roles.setPrivileges`.
            
        """
        admin = None
        portal = None
        setPrivResults = None
        roleID = None
        createResults = None
        try:
            admin = arcrest.manageorg.Administration(securityHandler=self._securityHandler)
            portal = admin.portals.portalSelf
            try:
                roleID = portal.roles.findRoleID(name)
                if roleID is None:
                    createResults = portal.createRole(name=name,description=description)
                    if 'success' in createResults:
                        if createResults['success'] == True:

                            setPrivResults = portal.roles.setPrivileges(createResults['id'],privileges)
                            if 'success' in setPrivResults:
                                print ("%s role created" % name)
                            else:
                                print (setPrivResults)
                        else:
                            print (createResults)
                    else:
                        print (createResults)
                else:
                    print ("'%s' role already exists" % name)

            except Exception as e:
                print (e)
                return None


        except:
            line, filename, synerror = trace()
            raise common.ArcRestHelperError({
                        "function": "createGroup",
                        "line": line,
                        "filename":  filename,
                        "synerror": synerror,
                                        }
                                        )
        finally:
            admin = None
            portal = None
            setPrivResults = None
            roleID = None
            createResults = None

            del admin
            del portal
            del setPrivResults
            del roleID
            del createResults

            gc.collect()
Creates a new role.
        
        Args:
            name (str): The name of the new role.
            description (str): The description of the new role. Defaults to ``""``.
            privileges (str): A comma delimited list of privileges to apply to the new role.
                Defaults to ``None``.
        Returns:
            If ``privileges`` is ``None``, the result from :py:func:`arcrest.manageorg._portals.Portal.createRole`.
            
            If ``privileges`` were succesfully added, the result from :py:func:`arcrest.manageorg._portals.Roles.setPrivileges`.