anchor.diff:      _listenToOptionClickEvents();
     }
   
  +  /** Makes a request to the remote server at the URL specified in `fetch_url`.
  +    * Sends along an additional `q` param containing the value entered by user.
  +    *
  +    * Expects a json string to be returned containing key/values. However, please note,
  +    * that for EditableSelectComponent currently only keys are used as values and as options
  +    * text presented to the user.
  +    */
     void prvt_fetchOptions() {
       var request_url_with_params = this.fetch_url;
       if(!request_url_with_params.contains("?"))
  
positive.code:     });
    }
  
    prvt_clearCustomValue([force=false]) {
      if((!this.options.containsKey(this.input_value) && this.allow_custom_value == false) || force) {
        this.input_value = this.input_value;
  
negative.code:   List behaviors       = [SelectComponentBehaviors, EditableSelectComponentBehaviors];
  
    static const keypress_stack_timeout = 0.5;
    bool fetching_options               = false;
  
    /** We need this additional property to store ALL loaded properties.
      * When options are filtered, this one stores all options, regardless of whether they
      * were filterd or not.
      */
    LinkedHashMap original_options;
  
    /** We need to ingore a press of SPACE key, because it is a actually a character
      * used while typing field value, whereas in traditional SelectComponent (from which this
      * class inherits) pressing SPACE opens the select options.
      */
    List special_keys = [38,40,27,13];
  
    EditableSelectComponent() {
    
  