System.arraycopy(bank.sysex,296*8,perf.sysex,0,406);
System.arraycopy(((Patch)bank).sysex,296*8,perf.sysex,0,406);
    public void sendPatch (Patch bank)    {         byte [] newsysex = new byte[296];        Patch p = new Patch(newsysex);        try         {                   for (int i=0;i<8;i++)             {                System.arraycopy(bank.sysex,296*i,p.sysex,0,296);                sendPatchWorker(p);                Thread.sleep(5); // Nova have problem receiving too fast, The loop itself introduce more delay so the sleep may not be necessary.                                 // NOTE : Do not modify this to send all patch in one shot! It will be faster but some patch may not be received correctly on the Nova!            }            // Now, send the rest which is the performance data itself            byte [] newsysex2 = new byte[406];            Patch perf = new Patch(newsysex2);            System.arraycopy(bank.sysex,296*8,perf.sysex,0,406);            perf.sysex[387] = (byte)(getChannel()-1); // there is a small sysex msg at the end that                                              // need to have the channel byte set            sendPatchWorker(perf);        }catch (Exception e) {ErrorMsg.reportError("Error","Unable to send Patch",e);}    }