public function removeOptionsByValue($value)
    {
        $removed_options = array();

        foreach ($this->options as $key => $control_option) {
            if ($control_option->value === $value) {
                $removed_options[] = $control_option;

                // remove from options list
                unset($this->options[$key]);

                // remove metadata
                $metadata_key = $this->getOptionMetadataKey($control_option);
                unset($this->option_metadata[$metadata_key]);
            }
        }

        return $removed_options;
    }