p = new Patch(sysex);
p = new Patch(sysex, drv); ErrorMsg.reportStatus("num : " + father.sysex.length + ", " + sysex.length);
    public void generateNewPatch() {	try {	    Patch father = getRandomPatch();	    Patch source;	    byte[] sysex = new byte[father.sysex.length];	    p = new Patch(sysex);	    for (int i = 0; i < father.sysex.length; i++) {		// look for a patch with same Driver and enough length		do {		    source = getRandomPatch();		} while (source.driverNum != father.driverNum			 || source.sysex.length < i			 || source.deviceNum != father.deviceNum);		p.sysex[i] = source.sysex[i];	    }	    p.driverNum = father.driverNum;	    p.deviceNum = father.deviceNum;	    p.getDriver().calculateChecksum(p);	} catch (Exception e) {	    ErrorMsg.reportError("Error", "Source Library Must be Focused", e);	}    }