/**
  * Array access. Unset field using external)id or offset.
  */
 public function offsetUnset($offset)
 {
     if (is_string($offset)) {
         $this->remove($offset);
     } else {
         parent::offsetUnset($offset);
     }
 }