src/vs/workbench/services/decorations/browser/decorationsService.ts/DecorationProviderWrapper/getOrRetrieve
class DecorationProviderWrapper:	getOrRetrieve(uri: URI, includeChildren: boolean, callback: (data: IDecorationData, isChild: boolean) => void): void {

		let item = this.data.get(uri);

		if (item === undefined) {
			// unknown -> trigger request
			item = this._fetchData(uri);
		}

		if (item && !(item instanceof DecorationDataRequest)) {
			// found something (which isn't pending anymore)
			callback(item, false);
		}

		if (includeChildren) {
			// (resolved) children
			const iter = this.data.findSuperstr(uri);
			if (iter) {
				for (const [, value] of iter) {
					if (value && !(value instanceof DecorationDataRequest)) {
						callback(value, true);
					}
				}
			}
		}
	}