src/vs/platform/files/common/files.ts/FileChangesEvent/constructor
class FileChangesEvent:	constructor(changes: readonly IFileChange[], ignorePathCasing: boolean) {
		for (const change of changes) {
			switch (change.type) {
				case FileChangeType.ADDED:
					if (!this.added) {
						this.added = TernarySearchTree.forUris<IFileChange>(() => ignorePathCasing);
					}
					this.added.set(change.resource, change);
					break;
				case FileChangeType.UPDATED:
					if (!this.updated) {
						this.updated = TernarySearchTree.forUris<IFileChange>(() => ignorePathCasing);
					}
					this.updated.set(change.resource, change);
					break;
				case FileChangeType.DELETED:
					if (!this.deleted) {
						this.deleted = TernarySearchTree.forUris<IFileChange>(() => ignorePathCasing);
					}
					this.deleted.set(change.resource, change);
					break;
			}
		}
	}