+ if (jarfile != null) {
+ if (keptzip != null) {
+ byte[] buf = new byte[1024 * 16];
+ for(ZipEntry ze = keptzip.getNextEntry(); ze != null; ze = keptzip.getNextEntry()) {
+ if (entries.contains(ze.getName())) continue;
+ message(" preserving: " + ze.getName());
+ jarfile.putNextEntry(ze);
+ while(true) {
+ int numread = keptzip.read(buf, 0, buf.length);
+ if (numread == -1) break;
+ jarfile.write(buf, 0, numread);
+ }
+ }
+ }
+ jarfile.close();
+ }