p.getDriver().calculateChecksum(p);
p.calculateChecksum();
    public Patch getPatch(Patch bank, int patchNum)    {	try{	    byte [] sysex=new byte[266];	    sysex[0]=(byte)0xF0; 	    sysex[1]=(byte)0x00;	    sysex[2]=(byte)0x00;	    sysex[3]=(byte)0x7e;	    sysex[4]=(byte)0x46;	    sysex[5]=(byte)((getChannel()-1)&0x7f);	    sysex[6]=(byte)0x02;	    sysex[7]=(byte)(patchNum);	    sysex[265]=(byte)0xF7;	    System.arraycopy(((Patch)bank).sysex, getPatchStart(patchNum), sysex, 8, 256);	    Patch p = new Patch(sysex, getDevice());	    p.getDriver().calculateChecksum(p);   	    return p;	} catch( Exception e ) { ErrorMsg.reportError("Error","Error in MIDIboxSID Bank Driver",e);return null; }    }