public Hash get(long hash) throws IOException {
		processQueue();
		Reference<Hash> ref = map.get(hash);
		Hash h = null;
		if (ref != null) {
			h = ref.get();
		}
		if (h != null) {
			return h;
		}
		Hash[] hashes = fileStore.readHash(hash);
		if (hashes == null) {
			System.out.println("Readback failed, map contains " + map.containsKey(hash));
			System.out.println("Readback failed, fileStore contains " + fileStore.hasKey(hash));
		}
		for (Hash hh : hashes) {
			if (hh.getHash() == hash) {
				h = hh;
			}
			add(hh);
		}
		return h;
	}