& (desktop.getSelectedFrame() instanceof PatchEditorFrame)
&& (desktop.getSelectedFrame() instanceof PatchEditorFrame)
		public void actionPerformed(ActionEvent evt) {		    try {			//FIXME there is a bug in the javaMIDI classes			//so this routine gets the input messages from			//the faderbox as well as the master			//controller. I cant figure out a way to fix			//it so let's just handle them here.			if (appConfig.getMasterController() > -1			    && appConfig.getMasterController() < MidiIn.getNumInputDevices()) {			    // '&' should be '&&' ? Hiroo !!!			    if ((appConfig.getFaderEnable())				& (PatchEdit.MidiIn.messagesWaiting(appConfig.getMasterController()) > 0)) {				for (int i = 0; i < 33; i++)				    newFaderValue[i] = 255;				while (PatchEdit.MidiIn.messagesWaiting(appConfig.getMasterController()) > 0) {				    int size;				    int port;				    size = PatchEdit.MidiIn.readMessage(appConfig.getMasterController(), buffer, 128);				    p = PatchEdit.Clipboard;				    if ((desktop.getSelectedFrame() instanceof PatchBasket)					&& (!(desktop.getSelectedFrame() instanceof PatchEditorFrame))) {					//!!!					if ((desktop.getSelectedFrame() instanceof LibraryFrame)					    & ((LibraryFrame) ((desktop.getSelectedFrame()))).table.getSelectedRowCount() == 0)					    break;					((PatchBasket) desktop.getSelectedFrame()).CopySelectedPatch();				    } else					Clipboard = ((PatchEditorFrame) desktop.getSelectedFrame()).p;				    //port = (PatchEdit.deviceList.get(Clipboard.deviceNum)).				    port = appConfig.getDevice(Clipboard.deviceNum).getPort();				    //!!!				    if ((appConfig.getFaderEnable())					& (desktop.getSelectedFrame() instanceof PatchEditorFrame)					&& (buffer[0] & 0xF0) == 0xB0)					sendFaderMessage(buffer[0], buffer[1], buffer[2]);				    else					if ((buffer[0] & 0xF0) == 0xD0) {					    //do nothing for now					} else {					    if (((buffer[0] & 0xF0) > 0x70)						&& ((buffer[0] & 0xF0) < 0xF0))						buffer[0] = (byte) ((buffer[0] & 0xF0) + appConfig.getDevice(Clipboard.deviceNum).getChannel() - 1);					    PatchEdit.MidiOut.writeLongMessage(port, buffer, size);					}				    PatchEdit.Clipboard = p;				}			    }			}		    } catch (Exception ex) {			ErrorMsg.reportStatus(ex);		    }		}