/**
  * @param $groupMemberUid
  * @param $groupId
  * @param array $socialAttributes
  * @param null $voId
  * @param null $spEntityId
  * @return array
  */
 public function getGroupMembers($groupMemberUid, $groupId, $socialAttributes = array(), $voId = null, $spEntityId = null)
 {
     $groupMemberUid = $this->_getCollabPersonIdForPersistentId($groupMemberUid);
     if (!$groupMemberUid) {
         return false;
     }
     if (!$spEntityId) {
         // Without spEntityId we can't check if we are allowed to return Groups
         return false;
     }
     $spGroupAcls = $this->_getSpGroupAcls($spEntityId);
     if (!$spGroupAcls) {
         //no GroupAcl means by definition that there are no positive permissions
         return false;
     }
     $groupMembers = $this->_getGroupProvider($groupMemberUid)->getMembers($groupId, $spGroupAcls);
     $people = array();
     /**
      * @var EngineBlock_Group_Model_GroupMember $groupMember
      */
     $externalGroup = EngineBlock_Group_Provider_Abstract::isExternalGroup($groupId);
     foreach ($groupMembers as $groupMember) {
         if ($externalGroup) {
             $people[] = $this->_mapEngineBlockGroupMemberToOpenSocialGroupMember($groupMember);
         } else {
             $person = $this->getPerson($groupMember->id, $socialAttributes, $voId, $spEntityId);
             if (!$person) {
                 $people[] = $this->_mapEngineBlockGroupMemberToOpenSocialGroupMember($groupMember);
             } else {
                 $person['voot_membership_role'] = $groupMember->userRole;
                 $people[] = $person;
             }
         }
     }
     return $people;
 }