storageHook.fileName = getAbsolute(storageHook.reference, AdaptorUtil.readString(in, false));
storageHook.setFileName(getAbsolute(storageHook.reference, AdaptorUtil.readString(in, false)));
	public StorageHook load(BaseData target, DataInputStream in) throws IOException {		target.setLocation(AdaptorUtil.readString(in, false));		target.setSymbolicName(AdaptorUtil.readString(in, false));		target.setVersion(AdaptorUtil.loadVersion(in));		target.setActivator(AdaptorUtil.readString(in, false));		target.setClassPathString(AdaptorUtil.readString(in, false));		target.setExecutionEnvironment(AdaptorUtil.readString(in, false));		target.setDynamicImports(AdaptorUtil.readString(in, false));		target.setStartLevel(in.readInt());		target.setStatus(in.readInt());		target.setType(in.readInt());		target.setLastModified(in.readLong());		target.setDirty(false); // make sure to reset the dirty bit;		BaseStorageHook storageHook = new BaseStorageHook(storage);		storageHook.bundleData = target;		storageHook.generation = in.readInt();		storageHook.reference = in.readBoolean();		storageHook.fileName = getAbsolute(storageHook.reference, AdaptorUtil.readString(in, false));		int nativePathCount = in.readInt();		storageHook.nativePaths = nativePathCount > 0 ? new String[nativePathCount] : null;		for (int i = 0; i < nativePathCount; i++)			storageHook.nativePaths[i] = in.readUTF();		return storageHook;	}