diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleWalk.java b/org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleWalk.java index ce8995ad8..8f9fcc1bf 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleWalk.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleWalk.java @@ -149,21 +149,20 @@ public static SubmoduleWalk forIndex(Repository repository) */ public static SubmoduleWalk forPath(Repository repository, AnyObjectId treeId, String path) throws IOException { - SubmoduleWalk generator = new SubmoduleWalk(repository); - try { + try (SubmoduleWalk generator = new SubmoduleWalk(repository)) { generator.setTree(treeId); PathFilter filter = PathFilter.create(path); generator.setFilter(filter); generator.setRootTree(treeId); - while (generator.next()) - if (filter.isDone(generator.walk)) + while (generator.next()) { + if (filter.isDone(generator.walk)) { return generator; + } + } + return null; } catch (IOException e) { - generator.close(); throw e; } - generator.close(); - return null; } /** @@ -182,21 +181,20 @@ public static SubmoduleWalk forPath(Repository repository, */ public static SubmoduleWalk forPath(Repository repository, AbstractTreeIterator iterator, String path) throws IOException { - SubmoduleWalk generator = new SubmoduleWalk(repository); - try { + try (SubmoduleWalk generator = new SubmoduleWalk(repository)) { generator.setTree(iterator); PathFilter filter = PathFilter.create(path); generator.setFilter(filter); generator.setRootTree(iterator); - while (generator.next()) - if (filter.isDone(generator.walk)) + while (generator.next()) { + if (filter.isDone(generator.walk)) { return generator; + } + } + return null; } catch (IOException e) { - generator.close(); throw e; } - generator.close(); - return null; } /**