code: function CFFDict_setByKey(key, value) {
        if (!(key in this.keyToNameMap)) {
          return false;
        }
        // ignore empty values
        if (value.length === 0) {
          return true;
        }
        var type = this.types[key];
        // remove the array wrapping these types of values
        if (type === 'num' || type === 'sid' || type === 'offset') {
          value = value[0];
        }
        this.values[key] = value;
        return true;
      }
docs: value should always be an array