Get all :class:`rtcclient.models.Role` objects in this project
        area

        If no :class:`Roles` are retrieved, `None` is returned.

        :return: a :class:`list` that contains all
            :class:`rtcclient.models.Role` objects
        :rtype: list

def getRoles(self):
        """Get all :class:`rtcclient.models.Role` objects in this project
        area

        If no :class:`Roles` are retrieved, `None` is returned.

        :return: a :class:`list` that contains all
            :class:`rtcclient.models.Role` objects
        :rtype: list
        """

        # no need to retrieve all the entries from _get_paged_resources
        # role raw data is very simple that contains no other links

        self.log.info("Get all the roles in <ProjectArea %s>",
                      self)
        roles_url = "/".join([self.rtc_obj.url,
                              "process/project-areas/%s/roles" % self.id])
        resp = self.get(roles_url,
                        verify=False,
                        proxies=self.rtc_obj.proxies,
                        headers=self.rtc_obj.headers)

        roles_list = list()
        raw_data = xmltodict.parse(resp.content)
        roles_raw = raw_data['jp06:roles']['jp06:role']
        if not roles_raw:
            self.log.warning("There are no roles in <ProjectArea %s>",
                             self)
            return None

        for role_raw in roles_raw:
            role = Role(role_raw.get("jp06:url"),
                        self.rtc_obj,
                        raw_data=role_raw)
            roles_list.append(role)
        return roles_list