p.sysex = temporarySysex; p.ChooseDriver();  newPatchArray[0] = new Patch(temporarySysex, (Driver) null); return newPatchArray; }
return newPatchArray; }
    public Patch[] extractPatch(Patch p) {    	Patch[] newPatchArray = new Patch[1];		byte [] temporarySysex = new byte[QuasarConstants.PATCH_SIZE];		// starting at 19h (=25): Temporary name: 17 Bytes		System.arraycopy(p.sysex,  25, temporarySysex, QuasarConstants.ARRAY_NAME_OFFSET, 17);		// starting at 2Ah (= 42): Temporary common parameters: 74 Bytes		System.arraycopy(p.sysex,  42, temporarySysex, 0, 74);		// starting at 200h (=512): Part 13: 33 Bytes		System.arraycopy(p.sysex, 512, temporarySysex, QuasarConstants.ARRAY_PART_1_OFFSET, 33);		// starting at 221h (=545): Part 14: 33 Bytes		System.arraycopy(p.sysex, 545, temporarySysex, QuasarConstants.ARRAY_PART_2_OFFSET, 33);		// starting at 242h (=578): Part 15: 33 Bytes		System.arraycopy(p.sysex, 578, temporarySysex, QuasarConstants.ARRAY_PART_3_OFFSET, 33);		// starting at 263h (=611): Part 16: 33 Bytes		System.arraycopy(p.sysex, 611, temporarySysex, QuasarConstants.ARRAY_PART_4_OFFSET, 33);		// The following two lines are needed		// else the whole thing doesn't work		// ??? A bug in the core ???		p.sysex = temporarySysex;		p.ChooseDriver();		newPatchArray[0] = new Patch(temporarySysex, (Driver) null);		return newPatchArray;	}