public byte[] getArray(long hash, int recursions, PassthroughConnection ptc) {
		if(recursions > 2) {
			return null;
		}
		Reference<byte[]> soft = cache.get(hash);
		byte[] array;
		if(soft != null) {
			array = soft.get();
			if(array == null) {
				cache.remove(hash);
			}
		} else {
			array = null;
		}
		File temp;
		
		if(array == null && (temp = FAT.get(hash)) != null && temp.exists()) {
			if(readSingleFile(temp, true, ptc)) {
				return getArray(hash, recursions + 1, ptc);
			} else {
				return null;
			}
		} else {
			return array;
		}
	}