/**
  * Init the class
  *
  * @param array $form             form data to build the form for the current option page
  * @param array $form_option_keys contains all option keys that should be handled by the current option page form
  * @return $this
  */
 public function init($form = array(), $form_option_keys = array())
 {
     $this->form = $form;
     $this->form_items = isset($form['items']) ? $form['items'] : array();
     $this->form_item_names = isset($form['item_names']) ? $form['item_names'] : array();
     $this->form_item_labels = isset($form['item_labels']) ? $form['item_labels'] : array();
     // we only support option keys and not key and value pairs
     if (array_values($form_option_keys) !== $form_option_keys) {
         throw new LogicException('$form_option_keys must contain keys only and no values');
     }
     $this->form_options = $form_option_keys ? $this->plugin->get_options_by_keys($form_option_keys) : array();
     $this->form['formats'] = isset($this->form['formats']) ? $this->form['formats'] : array();
     return $this;
 }