Patch[] dissect() { Patch[] patarray;
public IPatch[] dissect() { IPatch[] patarray;
    Patch[] dissect() {	Patch[] patarray;	Device dev = getDevice();    search:	{	    StringBuffer patchString = this.getPatchHeader();	    for (int idrv = 0; idrv < dev.driverCount(); idrv++) {		Driver drv = dev.getDriver(idrv);		if ((drv instanceof Converter)		    && drv.supportsPatch(patchString, this)) {		    patarray = ((Converter) drv).extractPatch(this);		    if (patarray != null)			break search; // found!		}	    }	    // No conversion. Try just the original patch....	    return new Patch[] {this};	}	// Conversion was sucessfull, we have at least one	// converted patch assign the original deviceNum and	// individual driverNum to each patch of patarray	for (int i = 0; i < patarray.length; i++) {	    StringBuffer patchString = patarray[i].getPatchHeader();	    for (int jdrv = 0; jdrv < dev.driverCount(); jdrv++) {		Driver drv = dev.getDriver(jdrv);		if (drv.supportsPatch(patchString, patarray[i]))		    patarray[i].setDriver(drv);	    }	}	return patarray;    }