private void processEntry(final ZipInputStream zis, final ZipEntry ze,
			final ContentHandlerFactory handlerFactory) {
		ContentHandler handler = handlerFactory.createContentHandler();
		try {

			// if (CODE2ASM.equals(command)) { // read bytecode and process it
			// // with TraceClassVisitor
			// ClassReader cr = new ClassReader(readEntry(zis, ze));
			// cr.accept(new TraceClassVisitor(null, new PrintWriter(os)),
			// false);
			// }

			boolean singleInputDocument = inRepresentation == SINGLE_XML;
			if (inRepresentation == BYTECODE) { // read bytecode and process it
				// with handler
				ClassReader cr = new ClassReader(readEntry(zis, ze));
				cr.accept(new SAXClassAdapter(handler, singleInputDocument), 0);
			} else { // read XML and process it with handler
				XMLReader reader = XMLReaderFactory.createXMLReader();
				reader.setContentHandler(handler);
				reader.parse(new InputSource(
						singleInputDocument ? (InputStream) new ProtectedInputStream(
								zis) : new ByteArrayInputStream(readEntry(zis,
								ze))));
			}
		} catch (Exception ex) {
			update(ze.getName(), 0);
			update(ex, 0);
		}
	}