code: function updateLabelMap(labelMap, label, added) {
            labelMap[label] = labelMap[label] || 0;
            labelMap[label] += (added ? 1 : -1);
          }
docs: A new labelMap is created with each render.
  This function is called for each existing option with added=false,
  and each new option with added=true.
  - Labels that are passed to this method twice,
  (once with added=true and once with added=false) will end up with a value of 0, and
  will cause no change to happen to the corresponding option.
  - Labels that are passed to this method only once with added=false will end up with a
  value of -1 and will eventually be passed to selectCtrl.removeOption()
  - Labels that are passed to this method only once with added=true will end up with a
  value of 1 and will eventually be passed to selectCtrl.addOption()