constructor(options) {
        super(options);

        this.type = options.type;
        this.value = options.value;

        if (options.customValue) {
            if (this.value === PresetSelectionStateAttribute.INTENSITY.CUSTOM) {
                this.customValue = options.customValue;
            } else {
                throw new Error("Custom preset value requires value CUSTOM");
            }
        } else if (this.value === PresetSelectionStateAttribute.INTENSITY.CUSTOM) {
            throw new Error("Missing custom value for CUSTOM preset");
        }
    }
@param {object} options
@param {PresetSelectionStateAttributeType} options.type
@param {string} options.value
@param {number} [options.customValue]
@param {object} [options.metaData]