public function updateGroup($groupId, $groupName = null, $description = null,
            $emailPermission = null)
    {
        $i = 0;
        $group = $this->newGroupEntry();

        $properties[$i] = $this->newProperty();
        $properties[$i]->name = 'groupId';
        $properties[$i]->value = $groupId;
        $i++;

        if($groupName != null) {
            $properties[$i] = $this->newProperty();
            $properties[$i]->name = 'groupName';
            $properties[$i]->value = $groupName;
            $i++;
        }

        if($description != null) {
            $properties[$i] = $this->newProperty();
            $properties[$i]->name = 'description';
            $properties[$i]->value = $description;
            $i++;
        }

        if($emailPermission != null) {
            $properties[$i] = $this->newProperty();
            $properties[$i]->name = 'emailPermission';
            $properties[$i]->value = $emailPermission;
            $i++;
        }

        $group->property = $properties;

        $uri  = self::APPS_BASE_FEED_URI . self::APPS_GROUP_PATH . '/';
        $uri .= $this->getDomain() . '/' . $groupId;

        return $this->updateEntry($group, $uri, 'Zend_Gdata_Gapps_GroupEntry');
    }