@SuppressWarnings("unchecked")
	public V getOrCreate(K key) {
		V v = get(key);
		if (v == null) {
			try {
				v = (V) instance.getClass().newInstance();
			} catch (Exception e) {
				throw new RuntimeException(e);
			}
			put(key, v);
		}
		return v;
	}