async readCacheFile(filePath) {
        let cacheExists = false;
        let cacheData = null;

        try {
            await fs.stat(filePath);
            cacheExists = true;
        } catch (e) {
            cacheExists = false;
        }

        if (cacheExists) {
            try {
                const cacheFile = await fs.readFile(filePath, 'utf8');
                cacheData = JSON.parse(cacheFile);
            } catch (e) {
                //noop as we'd start a long boot process if there are any errors in the file
            }
        }

        return cacheData;
    }
Handles reading and parsing JSON from the filesystem.
In case the file is corrupted or does not exist, returns null.
@param {String} filePath path to read from
@returns {Promise<Object>}
@private