this method might be split, what do you think about this ? 

```php
public function resetAdminRights($users)
{
    foreach($this->makeTraversable($users) as $user) {
        $this->doResetAdminRight($user)
    }
}

public function doResetAdminRights(\User_adapter $user) 
{
    $acl = $this->ACLProvider->get($user);
    $databoxes = $this->appbox->get_databoxes();
    $acl->give_access_to_sbas(array_map(function (\databox $databox) { return $databox->get_id();}, $databoxes));

    foreach ($databoxes as $databox) {
        $this->doResetAdminRightsOnDatabox($acl, $databox);
    }
}

public function doResetAdminRightsOnDatabox(\ACL $acl, \databox $databox)
{
    $databoxId = $databox->get_sbas_id();

    $acl->update_rights_to_sbas($databoxId, array(
         'bas_manage'        => '1',
         'bas_modify_struct' => '1',
         'bas_modif_th'      => '1',
         'bas_chupub'        => '1'
    ));
    $collections = $databox->get-collections();
    $acl->give_access_to_base(array_map(function (\collection) { return $collection->get_base_id()}, $collections));
    foreach ($databox->get_collections() as $collection) {
         $this->doResetAdminRightsOnCollection($acl, $collection);
    }
}
```