}
private ClassPatch readPatch(JarEntry patchEntry, JarInputStream jis) throws IOException
{
log("\t%s", patchEntry.getName());
ByteArrayDataInput input = ByteStreams.newDataInput(ByteStreams.toByteArray(jis));
String name = input.readUTF();
String sourceClassName = input.readUTF();
String targetClassName = input.readUTF();
boolean exists = input.readBoolean();
int inputChecksum = 0;
if (exists)
{
inputChecksum = input.readInt();
}
int patchLength = input.readInt();
byte[] patchBytes = new byte[patchLength];
input.readFully(patchBytes);
return new ClassPatch(name, sourceClassName, targetClassName, exists, inputChecksum, patchBytes);
}