public function getGroup($group)
    {
        if (strlen($group)==0) {
            return false;
        }
        
        if ($groupData = $this->getGroupData($group)) {

            $group = new BasicUserGroup($this);
            $group->setGroupID($groupData['gid']);
            $group->setGroupName($groupData['group']);
            $members = is_array($groupData['members']) ? $groupData['members'] : array();
            
            $groupMembers = array();

            //translate the user strings into user objects            
            foreach ($members as $user) {
                //parse the authority|user pair. If no authority is indicated than use this authority's index
                $userPieces = explode("|", $user);
                $authorityIndex = count($userPieces)==2 ? $userPieces[0] : $this->getAuthorityIndex();
                $userID = count($userPieces)==2 ? $userPieces[1] : $userPieces[0];
                if ($authority = AuthenticationAuthority::getAuthenticationAuthority($authorityIndex)) {
                    if ($user = $authority->getUser($userID)) {
                        $groupMembers[] = $user;
                    }
                } else {
                    throw new Exception("Invalid authority $authorityIndex when parsing group information for $group");
                }
            }
            $group->setMembers($groupMembers);
            return $group;
        } else {
            return false;
        }
    }