/**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     // Check folders
     $folders = array();
     foreach ($form_state->getValue(array('conf', 'folders')) as $i => $folder) {
         $path = trim($folder['path']);
         // Empty path
         if ($path === '') {
             continue;
         }
         // Validate path
         if (!Imce::regularPath($path)) {
             return $form_state->setError($form['conf']['folders'][$i]['path'], $this->t('Invalid folder path.'));
         }
         // Remove empty permissions
         $folder['permissions'] = array_filter($folder['permissions']);
         $folder['path'] = $path;
         $folders[$path] = $folder;
     }
     // No valid folders
     if (!$folders) {
         return $form_state->setError($form['conf']['folders'][0]['path'], $this->t('You must define a folder.'));
     }
     $form_state->setValue(array('conf', 'folders'), array_values($folders));
     // Call plugin validators
     \Drupal::service('plugin.manager.imce.plugin')->validateProfileForm($form, $form_state, $this->getEntity());
     return parent::validateForm($form, $form_state);
 }