public IPatch[] extractPatch(IPatch p) { return (IPatch[]) extractPatch((Patch) p); }
abstract public Patch[] extractPatch(Patch p);
    public IPatch[] extractPatch(IPatch p) {        return (IPatch[]) extractPatch((Patch) p);    }