public function loadSubjectRoles(SubjectInterface $subject, $permissions = true)
    {
        //todo cache this.
        $role_set = new RoleSet($this->roleFetchSubjectRoles($subject, $permissions));
        $subject->loadRoleSet($role_set);
        return $subject;
    }