43c43 < private Figure fComponent; --- > private Figure myDecoratedFigure; 95,97c95,97 < fComponent = figure; < fComponent.addToContainer(this); < addDependendFigure(fComponent); --- > setDecoratedFigure(figure); > getDecoratedFigure().addToContainer(this); > //addDependendFigure(getDecoratedFigure()); 108a109,112 > public void setDecoratedFigure(Figure newDecoratedFigure) { > myDecoratedFigure = newDecoratedFigure; > } > 110c114 < return fComponent; --- > return myDecoratedFigure; 138c142,150 < return getDecoratedFigure().findFigureInside(x, y); --- > Figure foundFigure = getDecoratedFigure().findFigureInside(x, y); > // if the found figure is the same as the one the DecoratorFigure decorates > // then do not peel of the decoration > if ((foundFigure != null) && (foundFigure == getDecoratedFigure())) { > return this; > } > else { > return foundFigure; > } 304c316 < --- > /* 309c321 < --- > */ 312a325,336 > > public synchronized FigureEnumeration getDependendFigures() { > return getDecoratedFigure().getDependendFigures(); > } > > public synchronized void addDependendFigure(Figure newDependendFigure) { > getDecoratedFigure().addDependendFigure(newDependendFigure); > } > > public synchronized void removeDependendFigure(Figure oldDependendFigure) { > getDecoratedFigure().removeDependendFigure(oldDependendFigure); > }