void undo() {
            switch (type) {
                case SLIDE: {
                    base.dragY = dragY;
                    //if (east)
                    base.mouseHandler.setEastRollup(base);
                 /*   	    			else
                     base.mouseHandler.setWestRollup(base);*/
                    base.mouseHandler.eastRollupStretchDrag(delY);
                    updateAll();
                    break;
                }
                case PUMP: {
                    base.mouseHandler.pump(base, pump);
                    break;
                }
                case UTIL: {
                    if (pnlUtil instanceof ContGraph) {
                        ContGraph cg = (ContGraph) pnlUtil;
                        cg.cdomain.changeWeight(knot, weight);
                        cg.plotPoints();
                    } else if (pnlUtil instanceof DiscGraph) {
                        DiscGraph dg = (DiscGraph) pnlUtil;
                        dg.ddomain.changeWeight(elt, weight);
                        dg.plotPoints();
                    } else if (pnlUtil instanceof ContinuousUtilityGraph) {
                        ContinuousUtilityGraph cug = (ContinuousUtilityGraph) pnlUtil;
                        domain.getContinuous().changeWeight(knot, weight);
                        cug.acell.cg.plotPoints();
                    } else if (pnlUtil instanceof DiscreteUtilityGraph) {
                        DiscreteUtilityGraph dug = (DiscreteUtilityGraph) pnlUtil;
                        domain.getDiscrete().changeWeight(elt, weight);
                        dug.acell.dg.plotPoints();
                    }
                    updateAll();
                }
            }
            reset();
        }