public V remove(K key) {
		KeyedFuture<K, V> f;
		V val;
		synchronized (this) {
			f = futures.remove(key);
			val = map.remove(key);
		}
		if (f != null) {
			f.cancel(false);
		}
		return val;
	}
Remove a key from the map, canceling any pending computation

@param key the key to remove
@return the previous value, if completed
Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncLazyMap.java