[findBugs] Ensure streams are closed in a finally block

Change-Id: I3137eba00d6eba96ca9051b6687fcf62e0871bcc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
index e06ff65..6c19b7b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
@@ -714,26 +714,27 @@ public int compare(PackExt o1, PackExt o2) {
 						JGitText.get().cannotCreateIndexfile, tmpIdx.getPath()));
 
 			// write the packfile
-			@SuppressWarnings("resource" /* java 7 */)
-			FileChannel channel = new FileOutputStream(tmpPack).getChannel();
+			FileOutputStream fos = new FileOutputStream(tmpPack);
+			FileChannel channel = fos.getChannel();
 			OutputStream channelStream = Channels.newOutputStream(channel);
 			try {
 				pw.writePack(pm, pm, channelStream);
 			} finally {
 				channel.force(true);
 				channelStream.close();
-				channel.close();
+				fos.close();
 			}
 
 			// write the packindex
-			FileChannel idxChannel = new FileOutputStream(tmpIdx).getChannel();
+			fos = new FileOutputStream(tmpIdx);
+			FileChannel idxChannel = fos.getChannel();
 			OutputStream idxStream = Channels.newOutputStream(idxChannel);
 			try {
 				pw.writeIndex(idxStream);
 			} finally {
 				idxChannel.force(true);
 				idxStream.close();
-				idxChannel.close();
+				fos.close();
 			}
 
 			if (pw.prepareBitmapIndex(pm)) {
@@ -745,14 +746,15 @@ public int compare(PackExt o1, PackExt o2) {
 							JGitText.get().cannotCreateIndexfile,
 							tmpBitmapIdx.getPath()));
 
-				idxChannel = new FileOutputStream(tmpBitmapIdx).getChannel();
+				fos = new FileOutputStream(tmpBitmapIdx);
+				idxChannel = fos.getChannel();
 				idxStream = Channels.newOutputStream(idxChannel);
 				try {
 					pw.writeBitmapIndex(idxStream);
 				} finally {
 					idxChannel.force(true);
 					idxStream.close();
-					idxChannel.close();
+					fos.close();
 				}
 			}
 
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java
index 9624e49..db49448 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java
@@ -82,8 +82,12 @@ public Note merge(Note base, Note ours, Note theirs, ObjectReader reader,
 		ObjectLoader lt = reader.open(theirs.getData());
 		UnionInputStream union = new UnionInputStream(lo.openStream(),
 				lt.openStream());
-		ObjectId noteData = inserter.insert(Constants.OBJ_BLOB,
-				lo.getSize() + lt.getSize(), union);
-		return new Note(ours, noteData);
+		try {
+			ObjectId noteData = inserter.insert(Constants.OBJ_BLOB,
+					lo.getSize() + lt.getSize(), union);
+			return new Note(ours, noteData);
+		} finally {
+			union.close();
+		}
 	}
 }