function updateLabelMap(labelMap, label, added) {
          labelMap[label] = labelMap[label] || 0;
          labelMap[label] += (added ? 1 : -1);
        }
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()