* open stream closes fix
diff --git a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/caching/ArchiveContentCacheProvider.java b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/caching/ArchiveContentCacheProvider.java
index 48cd03f..a34e314 100644
--- a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/caching/ArchiveContentCacheProvider.java
+++ b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/caching/ArchiveContentCacheProvider.java
@@ -62,8 +62,10 @@
 				File zipFileHandle = cache.getEntryAsFile(indexFile, "handle");
 
 				if (!zipFileHandle.exists()) {
-					Util.copy(zipFileHandle, new BufferedInputStream(indexFile
-							.openInputStream(new NullProgressMonitor()), 4096));
+					BufferedInputStream inp = new BufferedInputStream(indexFile
+							.openInputStream(new NullProgressMonitor()), 4096);
+					Util.copy(zipFileHandle, inp);
+					inp.close();
 				}
 				ZipFile zipFile = new ZipFile(zipFileHandle);