function addBinding(commandID, keyBindings, platform) {
        if ((commandID === null) || (commandID === undefined) || !keyBindings) {
            return;
        }
        
        var normalizedBindings = [],
            targetPlatform,
            results;

        if (Array.isArray(keyBindings)) {
            var keyBinding;
            results = [];
                                            
            keyBindings.forEach(function (keyBindingRequest) {
                keyBinding = _addBinding(commandID, keyBindingRequest, keyBindingRequest.platform);
                
                if (keyBinding) {
                    results.push(keyBinding);
                }
            });
        } else {
            results = _addBinding(commandID, keyBindings, platform);
        }
        
        return results;
    }
Add one or more key bindings to a particular Command.

@param {!string} commandID
@param {?({key: string, displayKey: string} | Array.<{key: string, displayKey: string, platform: string)}>}  keyBindings - a single key binding
     or an array of keybindings. Example: "Shift-Cmd-F". Mac and Win key equivalents are automatically
     mapped to each other. Use displayKey property to display a different string (e.g. "CMD+" instead of "CMD=").
@param {?string} platform - the target OS of the keyBindings either "mac" or "win". If undefined, all platforms will use
     the key binding. Ignored if keyBindings is passed an Array.
@return {{key: string, displayKey:String}|Array.<{key: string, displayKey:String}>} Returns record(s) for valid key binding(s)