private static function parseConfig($type, $config, View $view)
 {
     $parsedConfig = array();
     foreach ($config as $c) {
         $elConf = array();
         $elValid = TRUE;
         if (!isset($c['type'])) {
             throw new \Exception('toolbox config type (' . $type . ') is not set.');
         }
         $elConf['type'] = $c['type'];
         $elConf['name'] = $c['name'];
         $elConf['title'] = $view->translateAdmin($c['title']);
         $elConf['reload'] = isset($c['reload']) ? $c['reload'] : TRUE;
         $elConf['default'] = isset($c['default']) ? $c['default'] : NULL;
         if (isset($c['conditions'])) {
             $elConf['conditions'] = $c['conditions'];
         }
         switch ($c['type']) {
             case 'select':
                 if (!isset($c['values'])) {
                     throw new \Exception('toolbox config value (' . $type . ') is not set.');
                 }
                 $store = array();
                 foreach ($c['values'] as $k => $v) {
                     $store[] = array($k, $view->translateAdmin($v));
                 }
                 $elConf['store'] = $store;
                 $value = $view->select($elConf['name'])->getData();
                 $elConf['__selectedValue'] = !empty($value) ? $value : $elConf['default'];
                 break;
             case 'additionalClasses':
                 if (empty($c['values'])) {
                     $elValid = FALSE;
                 }
                 $store = array();
                 $store[] = array('default', $view->translateAdmin('Default'));
                 foreach ($c['values'] as $k => $v) {
                     $store[] = array($k, $v);
                 }
                 $elConf['type'] = 'select';
                 $elConf['name'] = $type . 'AdditionalClasses';
                 $elConf['title'] = $view->translateAdmin('Additional');
                 $elConf['reload'] = TRUE;
                 $elConf['store'] = $store;
                 if (is_null($elConf['default'])) {
                     $elConf['default'] = 'default';
                 }
                 $value = $view->select($type . 'AdditionalClasses')->getData();
                 $elConf['__selectedValue'] = !empty($value) ? $value : $elConf['default'];
                 break;
             case 'checkbox':
                 $value = $view->checkbox($elConf['name'])->isChecked();
                 $elConf['__selectedValue'] = !empty($value) ? $value : $elConf['default'];
                 break;
             case 'input':
                 $value = $view->input($elConf['name'])->getData();
                 $elConf['__selectedValue'] = !empty($value) ? $value : $elConf['default'];
                 $elConf['width'] = isset($c['width']) ? $c['width'] : 150;
                 break;
             default:
                 throw new \Exception($c['type'] . ' is not a valid toolbox config element');
         }
         if ($elValid) {
             $parsedConfig[] = $elConf;
         }
     }
     $parsedConfig = self::checkCondition($parsedConfig);
     return $parsedConfig;
 }