* Executes the {@code ApplyCommand} command with all the options and * parameters collected by the setter methods (e.g. * {@link #setPatch(InputStream)} of this class. Each instance of this class * should only be used for one invocation of the command. Don't call this * method twice on an instance. */ @Override public ApplyResult call() throws GitAPIException { checkCallable(); setCallable(false); ApplyResult r = new ApplyResult(); PatchApplier patchApplier = new PatchApplier(repo); Result applyResult = patchApplier.applyPatch(in); for (String p : applyResult.getPaths()) { r.addUpdatedFile(new File(repo.getWorkTree(), p)); } return r; } }