getPublic() {
        // This block correctly builds the type signature for the return value
        /** @type {PublicSettingsCache} */
        let settings = Object.fromEntries(
            Object.keys(this.publicSettings).map(key => [this.publicSettings[key], null])
        );

        // This block correctly populates the values from the cache
        for (const newKey in this.publicSettings) {
            settings[newKey] = this._doGet(this.publicSettings[newKey]) ?? null;
        }

        return settings;
    }
Get all the publicly accessible cache entries with their correct names
Uses clone to prevent modifications from being reflected
@return {PublicSettingsCache} cache