BigIq 5.3 license provider constructor

@class
@classdesc
Provides ability to get licenses from BIG-IQ 5.3 (and compatible versions).

@param {Object} bigIp                   - Base {@link BigIp} object.
@param {Object} [options]               - Optional parameters.
@param {Object} [options.logger]        - Logger to use. Or, pass loggerOptions to get your own logger.
@param {Object} [options.loggerOptions] - Options for the logger.
See {@link module:logger.getLogger} for details.
function BigIq54LicenseProvider(bigIp, options) {
    const injectedLogger = options ? options.logger : undefined;
    let loggerOptions = options ? options.loggerOptions : undefined;

    this.constructorOptions = {};
    if (options) {
        Object.keys(options).forEach((option) => {
            this.constructorOptions[option] = options[option];
        });
    }

    if (injectedLogger) {
        this.logger = injectedLogger;
        util.setLogger(injectedLogger);
    } else {
        loggerOptions = loggerOptions || { logLevel: 'none' };
        loggerOptions.module = module;
        this.logger = Logger.getLogger(loggerOptions);
        util.setLoggerOptions(loggerOptions);
    }

    this.bigIp = bigIp;
}