async _get(key) {
        if (typeof this.getTimeoutMilliseconds !== 'number') {
            return this.cache.get(key);
        } else {
            return new Promise((resolve) => {
                const timer = setTimeout(() => {
                    debug('get', key, 'timeout');
                    resolve(null);
                }, this.getTimeoutMilliseconds);
    
                this.cache.get(key).then((result) => {
                    clearTimeout(timer);
                    resolve(result);
                });
            });
        }
    }
Returns the specified key from the cache if it exists, otherwise returns null
- If getTimeoutMilliseconds is set, the method will return a promise that resolves with the value or null if the timeout is exceeded

@param {string} key