myModel.PatchList.add(table.getSelectedRow(),firstpat);
myModel.list.add(table.getSelectedRow(), firstpat);
    public void ImportPatch(File file) throws IOException,FileNotFoundException    {        int i;        int offset=0;        if (ImportMidiFile.doImport(file))        {          return;        }        FileInputStream fileIn= new FileInputStream(file);        byte [] buffer =new byte [(int)file.length()];        fileIn.read(buffer);        fileIn.close();        while (offset<buffer.length-1) {            // There is still something unprocessed in the file            Patch firstpat=new Patch(buffer,offset);            offset+=firstpat.sysex.length;            ErrorMsg.reportStatus("Buffer length:"+ buffer.length+" Patch Lenght: "+firstpat.sysex.length);	    Patch[] patarray=firstpat.dissect();	    if (patarray.length>1) {		// Conversion was sucessfull, we have at least one converted patch		for (int j=0;j<patarray.length;j++) {		    myModel.PatchList.add(patarray[j]); // add all converted patches		}	    } else {		// No conversion. Try just the original patch....		if  (table.getSelectedRowCount()==0)		    myModel.PatchList.add(firstpat);		else		    myModel.PatchList.add(table.getSelectedRow(),firstpat);	    }        }        myModel.fireTableDataChanged();        changed=true;        //statusBar.setText(myModel.PatchList.size()+" Patches");    }