setValue(value) {
    if (!Array.isArray(value))
      throw new Error('The option accepts only array of properties.');

    var order = {};

    if (typeof value[0] === 'string') {
      // If there is only one group of properties.
      value.forEach(function(prop, propIndex) {
        order[prop] = {group: 0, prop: propIndex};
      });
    } else {
      value.forEach(function(group, groupIndex) {
        group.forEach(function(prop, propIndex) {
          order[prop] = {group: groupIndex, prop: propIndex};
        });
      });
    }

    return order;
  }
@param {Array} value Option value
@returns {Array}