code: function expandDependentKeys(keys, doUnique) {
    var _doUnique = !!doUnique;
    var ret = [];
    var _keys = Array.isArray(keys) ? keys : [keys];
    _keys.forEach(function (key) {
      var parts = key.split(/\{|\}/);
      var properties = [parts];
  
      for (var i = 0; i < parts.length; i++) {
        var part = parts[i];
        if (part.indexOf(",") !== -1) {
          properties = _duplicateAndReplace(properties, part.split(","), i);
        }
      }
      for (i = 0; i < properties.length; i++) {
        ret.push(properties[i].join(""));
      }
    });
    return ret && _doUnique ? ret.filter(_onlyUnique) : ret;
  }
docs: Expand strings like 'a.{b,c}' to ['a.b', 'a.c']
  Code originally taken from https://github.com/emberjs/ember.js/blob/v2.3.0/packages/ember-metal/lib/expand_properties.js
  
  @param {string[]} keys
  @param {boolean} [doUnique] default false
  @returns {Array}