public function getGroupList($options = array())
    {
        $options = array_replace(array(
            'from' => null,
            'to' => null,
            'limit' => null,
            'request_limit' => null,
            'reversed' => false,
        ), $options);

        if (!empty($options['from']) && !empty($options['to'])) {
            throw new \Exception('Only one of "from" and "to" arguments is allowed');
        }

        $options['from'] = self::dateTimeString($options['from']);
        $options['to'] = self::dateTimeString($options['to']);

        return new GroupIterator($this, $options);
    }
public function getGroupList($options = array())
    {
        $options = array_replace(array(
            'from' => null,
            'to' => null,
            'limit' => null,
            'request_limit' => null,
            'reversed' => false,
        ), $options);

        if (!empty($options['from']) && !empty($options['to'])) {
            throw new \Exception('Only one of "from" and "to" arguments is allowed');
        }

        $options['from'] = self::dateTimeString($options['from']);
        $options['to'] = self::dateTimeString($options['to']);

        return new GroupIterator($this, $options);
    }
Return an iterator of Group objects to work with.

This class provides iteration over all uploaded file groups. You can specify:
- $options['from'] - a DateTime object or string from which objects will be iterated;
- $options['to'] - a DateTime object or string to which objects will be iterated;
- $options['limit'] - a total number of objects to be iterated;
If not specified, all available objects are iterated;
- $options['request_limit'] - a number of objects to be downloaded per request.
- $options['reversed'] - If True then result list will be reversed

@param array $options
@return GroupIterator
@throws \Exception