function createInfo(context, offset, name, index, values, isNewItem, range) {
        var ruleInfo = { context: context || "",
                         offset: offset || 0,
                         name: name || "",
                         index: -1,
                         values: [],
                         isNewItem: (isNewItem === true),
                         range: range };

        if (context === PROP_VALUE || context === SELECTOR || context === IMPORT_URL) {
            ruleInfo.index = index;
            ruleInfo.values = values;
        }

        return ruleInfo;
    }
@private
Creates a context info object
@param {string=} context A constant string
@param {number=} offset The offset of the token for a given cursor position
@param {string=} name Property name of the context
@param {number=} index The index of the property value for a given cursor position
@param {Array.<string>=} values An array of property values
@param {boolean=} isNewItem If this is true, then the value in index refers to the index at which a new item
    is going to be inserted and should not be used for accessing an existing value in values array.
@param {{start: {line: number, ch: number},
         end: {line: number, ch: number}}=} range A range object with a start position and an end position
@return {{context: string,
          offset: number,
          name: string,
          index: number,
          values: Array.<string>,
          isNewItem: boolean,
          range: {start: {line: number, ch: number},
                  end: {line: number, ch: number}}}} A CSS context info object.